8 use AspectMock\Test as AspectMock;
27 $mockData = $suiteDataArrayBuilder
28 ->withName(
'basicTestSuite')
31 ->includeTests([
'simpleTest'])
32 ->includeGroups([
'group1'])
33 ->excludeTests([
'group1Test2'])
34 ->excludeGroups([
'group2'])
38 $mockSimpleTest = $testDataArrayBuilder
39 ->withName(
'simpleTest')
43 $mockGroup1Test1 = $testDataArrayBuilder
44 ->withName(
'group1Test1')
45 ->withAnnotations([
'group' => [[
'value' =>
'group1']],
'title'=>[[
'value' =>
'group1Test1']]])
49 $mockGroup1Test2 = $testDataArrayBuilder
50 ->withName(
'group1Test2')
51 ->withAnnotations([
'group' => [[
'value' =>
'group1']],
'title'=>[[
'value' =>
'group1Test2']]])
55 $mockGroup2Test1 = $testDataArrayBuilder
56 ->withName(
'group2Test1')
57 ->withAnnotations([
'group' => [[
'value' =>
'group2']],
'title'=>[[
'value' =>
'group2Test1']]])
61 $mockTestData = [
'tests' => array_merge($mockSimpleTest, $mockGroup1Test1, $mockGroup1Test2, $mockGroup2Test1)];
62 $this->setMockTestAndSuiteParserOutput($mockTestData, $mockData);
68 $this->assertEquals($basicTestSuiteObj->getName(),
'basicTestSuite');
69 $this->assertCount(2, $basicTestSuiteObj->getTests());
70 $this->assertNotEmpty($basicTestSuiteObj->getBeforeHook());
71 $this->assertNotEmpty($basicTestSuiteObj->getAfterHook());
80 private function setMockTestAndSuiteParserOutput($testData, $suiteData)
83 $property = new \ReflectionProperty(TestObjectHandler::class,
'testObjectHandler');
84 $property->setAccessible(
true);
85 $property->setValue(
null);
88 $property = new \ReflectionProperty(SuiteObjectHandler::class,
'SUITE_OBJECT_HANLDER_INSTANCE');
89 $property->setAccessible(
true);
90 $property->setValue(
null);
92 $mockDataParser = AspectMock::double(TestDataParser::class, [
'readTestData' => $testData])->make();
93 $mockSuiteDataParser = AspectMock::double(SuiteDataParser::class, [
'readSuiteData' => $suiteData])->make();
94 $instance = AspectMock::double(
96 [
'create' =>
function ($clazz) use ($mockDataParser, $mockSuiteDataParser) {
97 if ($clazz == TestDataParser::class) {
98 return $mockDataParser;
101 if ($clazz == SuiteDataParser::class) {
102 return $mockSuiteDataParser;
107 AspectMock::double(ObjectManagerFactory::class, [
'getObjectManager' => $instance]);