How to use aDataProvider method of withStatic class

Best Atoum code snippet using withStatic.aDataProvider

test.php

Source:test.php Github

copy

Full Screen

...65 */66 public function testMethod2()67 {68 }69 public function aDataProvider()70 {71 }72 }73 /**74 * @ignore on75 * @tags first76 */77 class inheritedTagsTest extends atoum\test78 {79 /**80 * @tags second third81 */82 public function testMethod1()83 {84 }85 /**86 * @tags first second third87 */88 public function testMethod2()89 {90 }91 }92 /**93 * @ignore on94 */95 class dataProviderTest extends atoum\test96 {97 public function testMethod1(\stdClass $a)98 {99 }100 public function testMethod2(\SplFileInfo $a)101 {102 }103 public function testMethod3($a)104 {105 }106 }107 class foo extends atoum\test108 {109 public function __construct()110 {111 $this->setTestedClassName('atoum\atoum\test');112 parent::__construct();113 }114 }115 /**116 * @ignore on117 */118 class withStatic extends atoum\test119 {120 public function __construct()121 {122 $this->setTestedClassName('atoum\atoum\withStatic');123 parent::__construct();124 }125 }126 /**127 * @ignore on128 * @os Foo129 */130 class osRestricted extends atoum\test131 {132 public function testMethod1()133 {134 }135 /**136 * @os bar137 */138 public function testMethod2()139 {140 }141 /**142 * @os !foo143 */144 public function testMethod3()145 {146 }147 }148 class test extends atoum\test149 {150 public function testClassConstants()151 {152 $this153 ->string(atoum\test::testMethodPrefix)->isEqualTo('test')154 ->string(atoum\test::runStart)->isEqualTo('testRunStart')155 ->string(atoum\test::beforeSetUp)->isEqualTo('beforeTestSetUp')156 ->string(atoum\test::afterSetUp)->isEqualTo('afterTestSetUp')157 ->string(atoum\test::beforeTestMethod)->isEqualTo('beforeTestMethod')158 ->string(atoum\test::fail)->isEqualTo('testAssertionFail')159 ->string(atoum\test::error)->isEqualTo('testError')160 ->string(atoum\test::uncompleted)->isEqualTo('testUncompleted')161 ->string(atoum\test::skipped)->isEqualTo('testSkipped')162 ->string(atoum\test::exception)->isEqualTo('testException')163 ->string(atoum\test::success)->isEqualTo('testAssertionSuccess')164 ->string(atoum\test::afterTestMethod)->isEqualTo('afterTestMethod')165 ->string(atoum\test::beforeTearDown)->isEqualTo('beforeTestTearDown')166 ->string(atoum\test::afterTearDown)->isEqualTo('afterTestTearDown')167 ->string(atoum\test::runStop)->isEqualTo('testRunStop')168 ->string(atoum\test::defaultNamespace)->isEqualTo('#(?:^|\\\\)tests?\\\\units?\\\\#i')169 ->string(atoum\test::defaultMethodPrefix)->isEqualTo('#^(?:test|_*[^_]+_should_)#i')170 ;171 }172 public function test__construct()173 {174 $this175 ->if($test = new emptyTest())176 ->then177 ->object($test->getScore())->isInstanceOf(atoum\score::class)178 ->object($test->getLocale())->isEqualTo(new atoum\locale())179 ->object($test->getAdapter())->isEqualTo(new atoum\adapter())180 ->object($test->getPhpFunctionMocker())->isInstanceOf(atoum\php\mocker\funktion::class)181 ->object($test->getPhpConstantMocker())->isInstanceOf(atoum\php\mocker\constant::class)182 ->object($test->getFactoryBuilder())->isInstanceOf(atoum\factory\builder\closure::class)183 ->boolean($test->isIgnored())->isTrue()184 ->boolean($test->debugModeIsEnabled())->isFalse()185 ->array($test->getAllTags())->isEqualTo($tags = ['empty', 'fake', 'dummy'])186 ->array($test->getTags())->isEqualTo($tags)187 ->array($test->getMethodTags())->isEmpty()188 ->array($test->getDataProviders())->isEmpty()189 ->integer($test->getMaxChildrenNumber())->isEqualTo(666)190 ->boolean($test->codeCoverageIsEnabled())->isEqualTo(extension_loaded('xdebug'))191 ->string($test->getTestNamespace())->isEqualTo(atoum\test::defaultNamespace)192 ->integer($test->getMaxChildrenNumber())->isEqualTo(666)193 ->variable($test->getBootstrapFile())->isNull()194 ->array($test->getClassPhpVersions())->isEmpty()195 ->array($test->getMandatoryClassExtensions())->isEmpty()196 ->array($test->getMandatoryMethodExtensions())->isEmpty()197 ->variable($test->getXdebugConfig())->isNull()198 ;199 }200 public function test__toString()201 {202 $this->castToString($this)->isEqualTo(__CLASS__);203 }204 public function test__get()205 {206 $this207 ->if($test = new emptyTest())208 ->then209 ->object($test->assert)->isInstanceOf(atoum\test::class)210 ->object($test->define)->isInstanceOf(atoum\test\assertion\aliaser::class)211 ->object($test->mockGenerator)->isInstanceOf(atoum\mock\generator::class)212 ->if($test->setMockGenerator($mockGenerator = new atoum\test\mock\generator($this)))213 ->then214 ->object($test->mockGenerator)->isIdenticalTo($mockGenerator)215 ->if($test->setAsserterGenerator($asserterGenerator = new atoum\test\asserter\generator(new emptyTest())))216 ->then217 ->object($test->assert)->isIdenticalTo($test)218 ->variable($test->exception)->isNull()219 ->exception(function () use ($test, & $property) {220 $test->{$property = uniqid()};221 })222 ->isInstanceOf(atoum\exceptions\logic\invalidArgument::class)223 ->hasMessage('Asserter \'' . $property . '\' does not exist')224 ->exception($test->exception)225 ->isInstanceOf(atoum\exceptions\logic\invalidArgument::class)226 ->hasMessage('Asserter \'' . $property . '\' does not exist')227 ;228 }229 public function test__set()230 {231 $this232 ->given(233 $test = new emptyTest(),234 $test->setAssertionManager($assertionManager = new \mock\atoum\atoum\test\assertion\manager())235 )236 ->if($test->{$event = uniqid()} = $handler = function () {237 })238 ->then239 ->mock($assertionManager)->call('setHandler')->withArguments($event, $handler)->once()240 ;241 }242 public function testEnableDebugMode()243 {244 $this245 ->if($test = new emptyTest())246 ->then247 ->object($test->enableDebugMode())->isIdenticalTo($test)248 ->boolean($test->debugModeIsEnabled())->isTrue()249 ->object($test->enableDebugMode())->isIdenticalTo($test)250 ->boolean($test->debugModeIsEnabled())->isTrue()251 ;252 }253 public function testDisableDebugMode()254 {255 $this256 ->if($test = new emptyTest())257 ->then258 ->object($test->disableDebugMode())->isIdenticalTo($test)259 ->boolean($test->debugModeIsEnabled())->isFalse()260 ->object($test->disableDebugMode())->isIdenticalTo($test)261 ->boolean($test->debugModeIsEnabled())->isFalse()262 ->if($test->enableDebugMode())263 ->then264 ->object($test->disableDebugMode())->isIdenticalTo($test)265 ->boolean($test->debugModeIsEnabled())->isFalse()266 ;267 }268 public function testEnableCodeCoverage()269 {270 $this271 ->assert('Code coverage must be enabled only if xdebug is available')272 ->if($adapter = new atoum\test\adapter())273 ->and($adapter->extension_loaded = function ($extension) {274 return $extension == 'xdebug';275 })276 ->and($test = new emptyTest($adapter))277 ->then278 ->boolean($test->codeCoverageIsEnabled())->isTrue()279 ->object($test->enableCodeCoverage())->isIdenticalTo($test)280 ->boolean($test->codeCoverageIsEnabled())->isTrue()281 ->if($test->disableCodeCoverage())282 ->then283 ->boolean($test->codeCoverageIsEnabled())->isFalse()284 ->object($test->enableCodeCoverage())->isIdenticalTo($test)285 ->boolean($test->codeCoverageIsEnabled())->isTrue()286 ->assert('Code coverage must not be enabled if xdebug is not available')287 ->if($adapter->extension_loaded = function ($extension) {288 return $extension != 'xdebug';289 })290 ->and($test = new emptyTest($adapter))291 ->then292 ->boolean($test->codeCoverageIsEnabled())->isFalse()293 ->object($test->enableCodeCoverage())->isIdenticalTo($test)294 ->boolean($test->codeCoverageIsEnabled())->isFalse()295 ;296 }297 public function testDisableCodeCoverage()298 {299 $this300 ->if($adapter = new atoum\test\adapter())301 ->and($adapter->extension_loaded = true)302 ->and($test = new emptyTest($adapter))303 ->then304 ->boolean($test->codeCoverageIsEnabled())->isTrue()305 ->object($test->disableCodeCoverage())->isIdenticalTo($test)306 ->boolean($test->codeCoverageIsEnabled())->isFalse()307 ->if($test->enableCodeCoverage())308 ->then309 ->boolean($test->codeCoverageIsEnabled())->isTrue()310 ->object($test->disableCodeCoverage())->isIdenticalTo($test)311 ->boolean($test->codeCoverageIsEnabled())->isFalse()312 ;313 }314 public function testGetMockGenerator()315 {316 $this317 ->if($test = new emptyTest())318 ->then319 ->object($test->getMockGenerator())->isInstanceOf(atoum\mock\generator::class)320 ->if($test->setMockGenerator($mockGenerator = new atoum\test\mock\generator($this)))321 ->then322 ->object($test->getMockGenerator())->isIdenticalTo($mockGenerator)323 ->object($mockGenerator->getTest())->isIdenticalTo($test)324 ;325 }326 public function testSetMockGenerator()327 {328 $this329 ->if($test = new emptyTest())330 ->then331 ->object($test->setMockGenerator($mockGenerator = new atoum\test\mock\generator($this)))->isIdenticalTo($test)332 ->object($test->getMockGenerator())->isIdenticalTo($mockGenerator)333 ->object($mockGenerator->getTest())->isIdenticalTo($test)334 ;335 }336 public function testSetMockAutoloader()337 {338 $this339 ->if($test = new emptyTest())340 ->then341 ->object($test->setMockAutoloader($mockAutoloader = new atoum\autoloader\mock()))->isIdenticalTo($test)342 ->object($test->getMockAutoloader())->isIdenticalTo($mockAutoloader)343 ;344 }345 public function testGetAsserterGenerator()346 {347 $this348 ->if($test = new emptyTest())349 ->then350 ->object($test->getAsserterGenerator())->isInstanceOf(atoum\test\asserter\generator::class)351 ->if($test->setAsserterGenerator($asserterGenerator = new atoum\test\asserter\generator($this)))352 ->then353 ->object($test->getAsserterGenerator())->isIdenticalTo($asserterGenerator)354 ->object($asserterGenerator->getTest())->isIdenticalTo($test)355 ;356 }357 public function testSetAsserterGenerator()358 {359 $this360 ->if($test = new emptyTest())361 ->then362 ->object($test->setAsserterGenerator($asserterGenerator = new atoum\test\asserter\generator($test)))->isIdenticalTo($test)363 ->object($test->getAsserterGenerator())->isIdenticalTo($asserterGenerator)364 ->object($asserterGenerator->getTest())->isIdenticalTo($test)365 ->object($asserterGenerator->getLocale())->isIdenticalTo($test->getLocale())366 ;367 }368 public function testGetFactoryBuilder()369 {370 $this371 ->if($test = new emptyTest())372 ->then373 ->object($test->getFactoryBuilder())->isInstanceOf(atoum\factory\builder\closure::class)374 ->if($test->setFactoryBuilder($factoryBuilder = new \mock\atoum\atoum\factory\builder()))375 ->then376 ->object($test->getFactoryBuilder())->isIdenticalTo($factoryBuilder)377 ;378 }379 public function testSetFactoryBuilder()380 {381 $this382 ->if($test = new emptyTest())383 ->then384 ->object($test->setFactoryBuilder($factoryBuilder = new \mock\atoum\atoum\factory\builder()))->isIdenticalTo($test)385 ->object($test->getFactoryBuilder())->isIdenticalTo($factoryBuilder)386 ->object($test->setFactoryBuilder())->isIdenticalTo($test)387 ->object($test->getFactoryBuilder())388 ->isEqualTo(new atoum\Factory\builder\closure())389 ->isNotIdenticalTo($factoryBuilder)390 ;391 }392 public function testSetPhpFunktionMocker()393 {394 $this395 ->if($test = new emptyTest())396 ->then397 ->object($test->setPhpFunctionMocker($phpFunctionMocker = new atoum\php\mocker\funktion()))->isIdenticalTo($test)398 ->object($test->getPhpFunctionMocker())->isIdenticalTo($phpFunctionMocker)399 ->object($test->setPhpFunctionMocker())->isIdenticalTo($test)400 ->object($test->getPhpFunctionMocker())401 ->isNotIdenticalTo($phpFunctionMocker)402 ->isInstanceOf(atoum\php\mocker\funktion::class)403 ;404 }405 public function testSetTestNamespace()406 {407 $this408 ->if($test = new self())409 ->then410 ->object($test->setTestNamespace($testNamespace = uniqid('_')))->isIdenticalTo($test)411 ->string($test->getTestNamespace())->isEqualTo($testNamespace)412 ->object($test->setTestNamespace('\\' . $testNamespace))->isIdenticalTo($test)413 ->string($test->getTestNamespace())->isEqualTo($testNamespace)414 ->object($test->setTestNamespace($testNamespace . '\\'))->isIdenticalTo($test)415 ->string($test->getTestNamespace())->isEqualTo($testNamespace)416 ->object($test->setTestNamespace('\\' . $testNamespace . '\\'))->isIdenticalTo($test)417 ->string($test->getTestNamespace())->isEqualTo($testNamespace)418 ->object($test->setTestNamespace($testNamespace = uniqid('_') . '\\' . $testNamespace))->isIdenticalTo($test)419 ->string($test->getTestNamespace())->isEqualTo($testNamespace)420 ->object($test->setTestNamespace('\\' . $testNamespace))->isIdenticalTo($test)421 ->string($test->getTestNamespace())->isEqualTo($testNamespace)422 ->object($test->setTestNamespace($testNamespace . '\\'))->isIdenticalTo($test)423 ->string($test->getTestNamespace())->isEqualTo($testNamespace)424 ->object($test->setTestNamespace('\\' . $testNamespace . '\\'))->isIdenticalTo($test)425 ->string($test->getTestNamespace())->isEqualTo($testNamespace)426 ->object($test->setTestNamespace($testNamespace = '_' . rand(0, PHP_INT_MAX)))->isIdenticalTo($test)427 ->string($test->getTestNamespace())->isEqualTo((string) $testNamespace)428 ->object($test->setTestNamespace('\\' . $testNamespace))->isIdenticalTo($test)429 ->string($test->getTestNamespace())->isEqualTo($testNamespace)430 ->object($test->setTestNamespace($testNamespace . '\\'))->isIdenticalTo($test)431 ->string($test->getTestNamespace())->isEqualTo($testNamespace)432 ->object($test->setTestNamespace('\\' . $testNamespace . '\\'))->isIdenticalTo($test)433 ->string($test->getTestNamespace())->isEqualTo($testNamespace)434 ->exception(function () use ($test) {435 $test->setTestNamespace('');436 })437 ->isInstanceOf(atoum\exceptions\logic\invalidArgument::class)438 ->hasMessage('Test namespace must not be empty')439 ->exception(function () use ($test) {440 $test->setTestNamespace('0');441 })442 ->isInstanceOf(atoum\exceptions\logic\invalidArgument::class)443 ->hasMessage('Test namespace must be a valid regex or identifier')444 ->exception(function () use ($test) {445 $test->setTestNamespace(uniqid('_') . '\\\\' . uniqid('_'));446 })447 ->isInstanceOf(atoum\exceptions\logic\invalidArgument::class)448 ->hasMessage('Test namespace must be a valid regex or identifier')449 ;450 }451 public function testGetTestNamespace()452 {453 $this454 ->if($test = new self())455 ->then456 ->string($test->getTestNamespace())->isEqualTo(atoum\test::defaultNamespace)457 ->if($test->setTestNamespace($testNamespace = uniqid('_')))458 ->then459 ->string($test->getTestNamespace())->isEqualTo($testNamespace)460 ;461 }462 public function testSetTestMethodPrefix()463 {464 $this465 ->if($test = new self())466 ->then467 ->object($test->setTestMethodPrefix($testMethodPrefix = uniqid('_')))->isIdenticalTo($test)468 ->string($test->getTestMethodPrefix())->isEqualTo($testMethodPrefix)469 ->object($test->setTestMethodPrefix($testMethodPrefix = '/^test/i'))->isIdenticalTo($test)470 ->string($test->getTestMethodPrefix())->isEqualTo($testMethodPrefix)471 ->object($test->setTestMethodPrefix($testMethodPrefix = ('_' . rand(0, PHP_INT_MAX))))->isIdenticalTo($test)472 ->string($test->getTestMethodPrefix())->isEqualTo((string) $testMethodPrefix)473 ->object($test->setTestMethodPrefix($testMethodPrefix = "_0"))->isIdenticalTo($test)474 ->string($test->getTestMethodPrefix())->isEqualTo((string) $testMethodPrefix)475 ->exception(function () use ($test) {476 $test->setTestMethodPrefix('');477 })478 ->isInstanceOf(atoum\exceptions\logic\invalidArgument::class)479 ->hasMessage('Test method prefix must not be empty')480 ->exception(function () use ($test) {481 $test->setTestMethodPrefix('0');482 })483 ->isInstanceOf(atoum\exceptions\logic\invalidArgument::class)484 ->hasMessage('Test method prefix must a valid regex or identifier')485 ->exception(function () use ($test) {486 $test->setTestMethodPrefix('/:(/');487 })488 ->isInstanceOf(atoum\exceptions\logic\invalidArgument::class)489 ->hasMessage('Test method prefix must a valid regex or identifier')490 ;491 }492 public function testGetTestMethodPrefix()493 {494 $this495 ->if($test = new self())496 ->then497 ->string($test->getTestMethodPrefix())->isEqualTo(atoum\test::defaultMethodPrefix)498 ->if($test->setTestMethodPrefix($testMethodPrefix = uniqid('_')))499 ->then500 ->string($test->getTestMethodPrefix())->isEqualTo($testMethodPrefix)501 ;502 }503 public function testGetTestedClassName()504 {505 $mockClass = '\mock\\' . __CLASS__;506 $this507 ->if($test = new $mockClass())508 ->and($test->getMockController()->getClass = $testClass = 'foo')509 ->then510 ->exception(function () use ($test) {511 $test->getTestedClassName();512 })513 ->isInstanceOf(atoum\exceptions\runtime::class)514 ->hasMessage('Test class \'' . $testClass . '\' is not in a namespace which matches pattern \'' . $test->getTestNamespace() . '\'')515 ->if($test->getMockController()->getClass = 'tests\units\foo')516 ->then517 ->string($test->getTestedClassName())->isEqualTo('foo')518 ;519 }520 public function testGetTestedClassPath()521 {522 $this523 ->if($testedClass = new \reflectionClass($this->getTestedClassName()))524 ->then525 ->string($this->getTestedClassPath())->isEqualTo($testedClass->getFilename())526 ;527 }528 public function testGetAdapter()529 {530 $this531 ->if($test = new emptyTest())532 ->then533 ->object($test->getAdapter())->isInstanceOf(atoum\adapter::class)534 ;535 }536 public function testSetAdapter()537 {538 $this539 ->if($test = new emptyTest())540 ->then541 ->object($test->setAdapter($adapter = new atoum\test\adapter()))->isIdenticalTo($test)542 ->object($test->getAdapter())->isIdenticalTo($adapter)543 ;544 }545 public function testSetLocale()546 {547 $this548 ->if($test = new emptyTest())549 ->then550 ->object($test->setLocale($locale = new atoum\locale()))->isIdenticalTo($test)551 ->object($test->getLocale())->isIdenticalTo($locale)552 ;553 }554 public function testSetScore()555 {556 $this557 ->if($test = new emptyTest())558 ->then559 ->object($test->setScore($score = new atoum\test\score()))->isIdenticalTo($test)560 ->object($test->getScore())->isIdenticalTo($score)561 ;562 }563 public function testSetBootstrapFile()564 {565 $this566 ->if($test = new emptyTest())567 ->then568 ->object($test->setBootstrapFile($path = uniqid()))->isIdenticalTo($test)569 ->string($test->getBootstrapFile())->isEqualTo($path)570 ;571 }572 public function testSetMaxChildrenNumber()573 {574 $this575 ->if($test = new emptyTest())576 ->then577 ->exception(function () use ($test) {578 $test->setMaxChildrenNumber(- rand(1, PHP_INT_MAX));579 })580 ->isInstanceOf(atoum\exceptions\logic\invalidArgument::class)581 ->hasMessage('Maximum number of children must be greater or equal to 1')582 ->exception(function () use ($test) {583 $test->setMaxChildrenNumber(0);584 })585 ->isInstanceOf(atoum\exceptions\logic\invalidArgument::class)586 ->hasMessage('Maximum number of children must be greater or equal to 1')587 ->object($test->setMaxChildrenNumber($maxChildrenNumber = rand(1, PHP_INT_MAX)))->isIdenticalTo($test)588 ->integer($test->getMaxChildrenNumber())->isEqualTo($maxChildrenNumber)589 ->object($test->setMaxChildrenNumber((string) $maxChildrenNumber = rand(1, PHP_INT_MAX)))->isIdenticalTo($test)590 ->integer($test->getMaxChildrenNumber())->isEqualTo($maxChildrenNumber)591 ;592 }593 public function testGetClass()594 {595 $this596 ->if($test = new emptyTest())597 ->then598 ->string($test->getClass())->isEqualTo(__NAMESPACE__ . '\emptyTest')599 ;600 }601 public function testGetPath()602 {603 $this604 ->if($test = new emptyTest())605 ->then606 ->string($test->getPath())->isEqualTo(__FILE__)607 ;608 }609 public function testGetCoverage()610 {611 $this612 ->if($test = new emptyTest())613 ->then614 ->object($test->getCoverage())->isIdenticalTo($test->getScore()->getCoverage())615 ;616 }617 public function testIsIgnored()618 {619 $this620 ->if($test = new emptyTest())621 ->then622 ->boolean($test->isIgnored())->isTrue()623 ->object($test->ignore(false))->isIdenticalTo($test)624 ->boolean($test->isIgnored())->isTrue()625 ->object($test->ignore(true))->isIdenticalTo($test)626 ->boolean($test->isIgnored())->isTrue()627 ->if($test = new notEmptyTest())628 ->then629 ->boolean($test->isIgnored())->isTrue()630 ->boolean($test->methodIsIgnored('testMethod1'))->isTrue()631 ->boolean($test->methodIsIgnored('testMethod2'))->isTrue()632 ->object($test->ignore(false))->isIdenticalTo($test)633 ->boolean($test->isIgnored())->isFalse()634 ->boolean($test->methodIsIgnored('testMethod1'))->isFalse()635 ->boolean($test->methodIsIgnored('testMethod2'))->isFalse()636 ->object($test->ignore(true))->isIdenticalTo($test)637 ->boolean($test->isIgnored())->isTrue()638 ->boolean($test->methodIsIgnored('testMethod1'))->istrue()639 ->boolean($test->methodIsIgnored('testMethod2'))->isTrue()640 ;641 }642 public function testGetCurrentMethod()643 {644 $this645 ->if($test = new emptyTest())646 ->then647 ->variable($test->getCurrentMethod())->isNull()648 ;649 }650 public function testCount()651 {652 $this653 ->sizeOf(new emptyTest())->isEqualTo(0)654 ->if($test = new notEmptyTest())655 ->then656 ->sizeOf($test)->isEqualTo(0)657 ->if($test->ignore(false))658 ->then659 ->boolean($test->methodIsIgnored('testMethod1'))->isFalse()660 ->boolean($test->methodIsIgnored('testMethod2'))->isFalse()661 ->sizeOf($test)->isEqualTo(2)662 ->if($test->ignoreMethod('testMethod1', true))663 ->boolean($test->methodIsIgnored('testMethod1'))->isTrue()664 ->boolean($test->methodIsIgnored('testMethod2'))->isFalse()665 ->sizeOf($test)->isEqualTo(1)666 ->if($test->ignoreMethod('testMethod2', true))667 ->boolean($test->methodIsIgnored('testMethod1'))->isTrue()668 ->boolean($test->methodIsIgnored('testMethod2'))->isTrue()669 ->sizeOf($test)->isEqualTo(0)670 ;671 }672 public function testGetTestMethods()673 {674 $this675 ->if($test = new emptyTest())676 ->then677 ->boolean($test->ignore(false)->isIgnored())->isTrue()678 ->sizeOf($test)->isZero()679 ->array($test->getTestMethods())->isEmpty()680 ->if($test = new notEmptyTest())681 ->then682 ->boolean($test->isIgnored())->isTrue()683 ->boolean($test->methodIsIgnored('testMethod1'))->isTrue()684 ->boolean($test->methodIsIgnored('testMethod2'))->isTrue()685 ->sizeOf($test)->isEqualTo(0)686 ->array($test->getTestMethods())->isEmpty()687 ->boolean($test->ignore(false)->isIgnored())->isFalse()688 ->boolean($test->methodIsIgnored('testMethod1'))->isFalse()689 ->boolean($test->methodIsIgnored('testMethod2'))->isFalse()690 ->sizeOf($test)->isEqualTo(2)691 ->array($test->getTestMethods())->isEqualTo(['testMethod1', 'testMethod2'])692 ->array($test->getTestMethods(['method']))->isEqualTo(['testMethod1', 'testMethod2'])693 ->array($test->getTestMethods(['test']))->isEqualTo(['testMethod1', 'testMethod2'])694 ->array($test->getTestMethods(['two']))->isEqualTo(['testMethod2'])695 ->array($test->getTestMethods([uniqid()]))->isEmpty()696 ->array($test->getTestMethods(['test', 'method']))->isEqualTo(['testMethod1', 'testMethod2'])697 ->array($test->getTestMethods(['test', 'method', uniqid()]))->isEqualTo(['testMethod1', 'testMethod2'])698 ->array($test->getTestMethods(['test', 'method', 'two', uniqid()]))->isEqualTo(['testMethod1', 'testMethod2'])699 ;700 }701 public function testGetPhpPath()702 {703 $this704 ->if($test = new emptyTest())705 ->then706 ->variable($test->getPhpPath())->isNull()707 ->if($test->setPhpPath($phpPath = uniqid()))708 ->then709 ->string($test->getPhpPath())->isEqualTo($phpPath)710 ;711 }712 public function testSetPhpPath()713 {714 $this715 ->if($test = new emptyTest())716 ->then717 ->object($test->setPhpPath($phpPath = uniqid()))->isIdenticalTo($test)718 ->string($test->getPhpPath())->isIdenticalTo($phpPath)719 ->object($test->setPhpPath($phpPath = rand(1, PHP_INT_MAX)))->isIdenticalTo($test)720 ->string($test->getPhpPath())->isIdenticalTo((string) $phpPath)721 ;722 }723 public function testMethodIsIgnored()724 {725 $this726 ->if($test = new emptyTest())727 ->then728 ->exception(function () use ($test, & $method) {729 $test->methodIsIgnored($method = uniqid());730 })731 ->isInstanceOf(atoum\exceptions\logic\invalidArgument::class)732 ->hasMessage('Test method ' . get_class($test) . '::' . $method . '() does not exist')733 ;734 }735 public function testSetTags()736 {737 $this738 ->if($test = new emptyTest())739 ->then740 ->object($test->setTags($tags = [uniqid(), uniqid()]))->isIdenticalTo($test)741 ->array($test->getTags())->isEqualTo($tags)742 ;743 }744 public function testSetMethodTags()745 {746 $this747 ->if($test = new notEmptyTest())748 ->then749 ->object($test->setMethodTags('testMethod1', $tags = [uniqid(), uniqid()]))->isIdenticalTo($test)750 ->array($test->getMethodTags('testMethod1'))->isEqualTo($tags)751 ->exception(function () use ($test, & $method) {752 $test->setMethodTags($method = uniqid(), []);753 })754 ->isInstanceOf(atoum\exceptions\logic\invalidArgument::class)755 ->hasMessage('Test method ' . get_class($test) . '::' . $method . '() does not exist')756 ;757 }758 public function testGetMethodTags()759 {760 $this761 ->if($test = new notEmptyTest())762 ->then763 ->array($test->getMethodTags('testMethod1'))->isEqualTo(['test', 'method', 'one'])764 ->exception(function () use ($test, & $method) {765 $test->getMethodTags($method = uniqid());766 })767 ->isInstanceOf(atoum\exceptions\logic\invalidArgument::class)768 ->hasMessage('Test method ' . get_class($test) . '::' . $method . '() does not exist')769 ->if($test = new inheritedTagsTest())770 ->then771 ->array($test->getMethodTags())->isEqualTo(['testMethod1' => ['first', 'second', 'third'], 'testMethod2' => ['first', 'second', 'third']])772 ->array($test->getMethodTags('testMethod1'))->isEqualTo(['first', 'second', 'third'])773 ->array($test->getMethodTags('testMethod2'))->isEqualTo(['first', 'second', 'third'])774 ->if($test = new dataProviderTest())775 ->then776 ->array($test->getMethodTags())->isEqualTo(['testMethod1' => [], 'testMethod2' => [], 'testMethod3' => []])777 ->array($test->getMethodTags('testMethod1'))->isEqualTo([])778 ->array($test->getMethodTags('testMethod2'))->isEqualTo([])779 ->array($test->getMethodTags('testMethod3'))->isEqualTo([])780 ;781 }782 public function testAddMandatoryClassExtension()783 {784 $this785 ->if($test = new notEmptyTest())786 ->then787 ->object($test->addMandatoryClassExtension($extension = uniqid()))->isIdenticalTo($test)788 ->array($test->getMandatoryClassExtensions())->isEqualTo([$extension])789 ->object($test->addMandatoryClassExtension($otherExtension = uniqid()))->isIdenticalTo($test)790 ->array($test->getMandatoryClassExtensions())->isEqualTo([$extension, $otherExtension])791 ;792 }793 public function testGetMandatoryMethodExtensions()794 {795 $this796 ->if($test = new notEmptyTest())797 ->then798 ->array($test->getMandatoryMethodExtensions('testMethod1'))->isEmpty()799 ->array($test->getMandatoryMethodExtensions('testMethod2'))->isEqualTo(['mbstring', 'socket'])800 ;801 }802 public function testAddMandatoryMethodExtension()803 {804 $this805 ->if($test = new notEmptyTest())806 ->then807 ->exception(function () use ($test, & $method) {808 $test->addMandatoryMethodExtension($method = uniqid(), uniqid());809 })810 ->isInstanceOf(atoum\exceptions\logic\invalidArgument::class)811 ->hasMessage('Test method ' . get_class($test) . '::' . $method . '() does not exist')812 ->object($test->addMandatoryMethodExtension('testMethod1', $extension = uniqid()))->isIdenticalTo($test)813 ->array($test->getMandatoryMethodExtensions())->isEqualTo(['testMethod1' => [$extension], 'testMethod2' => ['mbstring', 'socket']])814 ->array($test->getMandatoryMethodExtensions('testMethod1'))->isEqualTo([$extension])815 ->array($test->getMandatoryMethodExtensions('testMethod2'))->isEqualTo(['mbstring', 'socket'])816 ->object($test->addMandatoryMethodExtension('testMethod1', $otherExtension = uniqid()))->isIdenticalTo($test)817 ->array($test->getMandatoryMethodExtensions())->isEqualTo(['testMethod1' => [$extension, $otherExtension], 'testMethod2' => ['mbstring', 'socket']])818 ->array($test->getMandatoryMethodExtensions('testMethod1'))->isEqualTo([$extension, $otherExtension])819 ->array($test->getMandatoryMethodExtensions('testMethod2'))->isEqualTo(['mbstring', 'socket'])820 ->object($test->addMandatoryMethodExtension('testMethod2', $anOtherExtension = uniqid()))->isIdenticalTo($test)821 ->array($test->getMandatoryMethodExtensions())->isEqualTo(['testMethod1' => [$extension, $otherExtension], 'testMethod2' => ['mbstring', 'socket', $anOtherExtension]])822 ->array($test->getMandatoryMethodExtensions('testMethod1'))->isEqualTo([$extension, $otherExtension])823 ->array($test->getMandatoryMethodExtensions('testMethod2'))->isEqualTo(['mbstring', 'socket', $anOtherExtension])824 ->if($test->addMandatoryClassExtension($classExtension = uniqid()))825 ->then826 ->array($test->getMandatoryMethodExtensions())->isEqualTo(['testMethod1' => [$classExtension, $extension, $otherExtension], 'testMethod2' => [$classExtension, 'mbstring', 'socket', $anOtherExtension]])827 ->array($test->getMandatoryMethodExtensions('testMethod1'))->isEqualTo([$classExtension, $extension, $otherExtension])828 ->array($test->getMandatoryMethodExtensions('testMethod2'))->isEqualTo([$classExtension, 'mbstring', 'socket', $anOtherExtension])829 ;830 }831 public function testAddClassPhpVersion()832 {833 $this834 ->if($test = new notEmptyTest())835 ->then836 ->object($test->addClassPhpVersion('5.3'))->isIdenticalTo($test)837 ->array($test->getClassPhpVersions())->isEqualTo(['5.3' => '>='])838 ->object($test->addClassPhpVersion('5.4', '<='))->isIdenticalTo($test)839 ->array($test->getClassPhpVersions())->isEqualTo(['5.3' => '>=', '5.4' => '<='])840 ;841 }842 public function testAddMethodPhpVersion()843 {844 $this845 ->if($test = new notEmptyTest())846 ->then847 ->exception(function () use ($test, & $method) {848 $test->addMethodPhpVersion($method, '6.0');849 })850 ->isInstanceOf(atoum\exceptions\logic\invalidArgument::class)851 ->hasMessage('Test method ' . get_class($test) . '::' . $method . '() does not exist')852 ->object($test->addMethodPhpVersion('testMethod1', '5.3'))->isIdenticalTo($test)853 ->array($test->getMethodPhpVersions())->isEqualTo(['testMethod1' => ['5.3' => '>='], 'testMethod2' => []])854 ->array($test->getMethodPhpVersions('testMethod1'))->isEqualTo(['5.3' => '>='])855 ->array($test->getMethodPhpVersions('testMethod2'))->isEmpty()856 ->object($test->addMethodPhpVersion('testMethod1', '5.4', '<='))->isIdenticalTo($test)857 ->array($test->getMethodPhpVersions())->isEqualTo(['testMethod1' => ['5.3' => '>=', '5.4' => '<='], 'testMethod2' => []])858 ->array($test->getMethodPhpVersions('testMethod1'))->isEqualTo(['5.3' => '>=', '5.4' => '<='])859 ->array($test->getMethodPhpVersions('testMethod2'))->isEmpty()860 ->object($test->addMethodPhpVersion('testMethod2', '5.4', '>='))->isIdenticalTo($test)861 ->array($test->getMethodPhpVersions())->isEqualTo(['testMethod1' => ['5.3' => '>=', '5.4' => '<='], 'testMethod2' => ['5.4' => '>=']])862 ->array($test->getMethodPhpVersions('testMethod1'))->isEqualTo(['5.3' => '>=', '5.4' => '<='])863 ->array($test->getMethodPhpVersions('testMethod2'))->isEqualTo(['5.4' => '>='])864 ->if($test->addClassPhpVersion('5.5'))865 ->then866 ->array($test->getMethodPhpVersions())->isEqualTo(['testMethod1' => ['5.5' => '>=', '5.3' => '>=', '5.4' => '<='], 'testMethod2' => ['5.5' => '>=', '5.4' => '>=']])867 ->array($test->getMethodPhpVersions('testMethod1'))->isEqualTo(['5.5' => '>=', '5.3' => '>=', '5.4' => '<='])868 ->array($test->getMethodPhpVersions('testMethod2'))->isEqualTo(['5.5' => '>=', '5.4' => '>='])869 ;870 }871 public function testRun()872 {873 $this874 ->mockTestedClass('mock\tests\units')875 ->if($test = new \mock\tests\units\test())876 ->then877 ->object($test->run())->isIdenticalTo($test)878 ->mock($test)879 ->call('callObservers')880 ->withArguments(\atoum\atoum\test::runStart)->never()881 ->withArguments(\atoum\atoum\test::runStop)->never()882 ->withArguments(\atoum\atoum\test::beforeSetUp)->never()883 ->withArguments(\atoum\atoum\test::afterSetUp)->never()884 ->withArguments(\atoum\atoum\test::beforeTestMethod)->never()885 ->withArguments(\atoum\atoum\test::afterTestMethod)->never()886 ;887 }888 public function testSetTestedClassName()889 {890 $this891 ->if($test = new foo())892 ->then893 ->string($test->getTestedClassName())->isEqualTo('atoum\atoum\test')894 ->exception(function () use ($test) {895 $test->setTestedClassName(uniqid());896 })897 ->isInstanceOf(atoum\exceptions\runtime::class)898 ->hasMessage('Tested class name is already defined')899 ->if($test = new self())900 ->then901 ->object($test->setTestedClassName($class = uniqid()))->isIdenticalTo($test)902 ->string($test->getTestedClassName())->isEqualTo($class)903 ->exception(function () use ($test) {904 $test->setTestedClassName(uniqid());905 })906 ->isInstanceOf(atoum\exceptions\runtime::class)907 ->hasMessage('Tested class name is already defined')908 ;909 }910 public function testMockClass()911 {912 $this913 ->if($test = new emptyTest())914 ->then915 ->object($test->mockClass(__CLASS__))->isIdenticalTo($test)916 ->class('mock\\' . __CLASS__)->isSubClassOf(__CLASS__)917 ->object($test->mockClass(__CLASS__, 'foo'))->isIdenticalTo($test)918 ->class('foo\test')->isSubClassOf(__CLASS__)919 ->object($test->mockClass(__CLASS__, 'foo\bar'))->isIdenticalTo($test)920 ->class('foo\bar\test')->isSubClassOf(__CLASS__)921 ->object($test->mockClass(__CLASS__, 'foo', 'bar'))->isIdenticalTo($test)922 ->class('foo\bar')->isSubClassOf(__CLASS__)923 ;924 }925 public function testMockTestedClass()926 {927 $this928 ->if($test = new emptyTest())929 ->and($testedClassName = $test->getTestedClassName())930 ->then931 ->object($test->mockTestedClass())->isIdenticalTo($test)932 ->class('mock\\' . $testedClassName)->isSubClassOf($testedClassName)933 ->object($test->mockTestedClass('foo'))->isIdenticalTo($test)934 ->class('foo\emptyTest')->isSubClassOf($testedClassName)935 ->object($test->mockTestedClass('foo\bar'))->isIdenticalTo($test)936 ->class('foo\bar\emptyTest')->isSubClassOf($testedClassName)937 ->object($test->mockTestedClass('foo', 'bar'))->isIdenticalTo($test)938 ->class('foo\bar')->isSubClassOf($testedClassName)939 ;940 }941 public function testGetTaggedTestMethods()942 {943 $this944 ->if($test = new emptyTest())945 ->then946 ->array($test->getTaggedTestMethods([]))->isEmpty()947 ->array($test->getTaggedTestMethods([uniqid()]))->isEmpty()948 ->array($test->getTaggedTestMethods([uniqid(), uniqid()]))->isEmpty()949 ->if($test = new notEmptyTest())950 ->then951 ->array($test->getTaggedTestMethods([]))->isEmpty()952 ->array($test->getTaggedTestMethods([uniqid()]))->isEmpty()953 ->array($test->getTaggedTestMethods([uniqid(), uniqid()]))->isEmpty()954 ->array($test->getTaggedTestMethods([uniqid(), 'testMethod1', uniqid()]))->isEmpty()955 ->array($test->getTaggedTestMethods([uniqid(), 'testMethod1', uniqid(), 'testMethod2']))->isEmpty()956 ->array($test->getTaggedTestMethods([uniqid(), 'Testmethod1', uniqid(), 'Testmethod2']))->isEmpty()957 ->if($test->ignore(false))958 ->then959 ->array($test->getTaggedTestMethods([uniqid(), 'testMethod1', uniqid()]))->isEqualTo(['testMethod1'])960 ->array($test->getTaggedTestMethods([uniqid(), 'testMethod2', uniqid()]))->isEqualTo(['testMethod2'])961 ->array($test->getTaggedTestMethods([uniqid(), 'Testmethod1', uniqid(), 'Testmethod2']))->isEqualTo(['Testmethod1', 'Testmethod2'])962 ->array($test->getTaggedTestMethods([uniqid(), 'Testmethod1', uniqid(), 'Testmethod2'], ['one']))->isEqualTo(['Testmethod1'])963 ->if($test->ignoreMethod('testMethod1', true))964 ->then965 ->array($test->getTaggedTestMethods([uniqid(), 'testMethod1', uniqid()]))->isEmpty()966 ->array($test->getTaggedTestMethods([uniqid(), 'testMethod2', uniqid()]))->isEqualTo(['testMethod2'])967 ->array($test->getTaggedTestMethods([uniqid(), 'Testmethod1', uniqid(), 'Testmethod2']))->isEqualTo(['Testmethod2'])968 ->array($test->getTaggedTestMethods([uniqid(), 'Testmethod1', uniqid(), 'Testmethod2'], ['one']))->isEmpty()969 ;970 }971 public function testSetDataProvider()972 {973 $this974 ->if($test = new emptyTest())975 ->then976 ->exception(function () use ($test, & $method) {977 $test->setDataProvider($method = uniqid(), uniqid());978 })979 ->isInstanceOf(atoum\exceptions\logic\invalidArgument::class)980 ->hasMessage('Test method ' . get_class($test) . '::' . $method . '() does not exist')981 ->if($test = new notEmptyTest())982 ->then983 ->exception(function () use ($test, & $dataProvider) {984 $test->setDataProvider('testMethod1', $dataProvider = uniqid());985 })986 ->isInstanceOf(atoum\exceptions\logic\invalidArgument::class)987 ->hasMessage('Data provider ' . get_class($test) . '::' . $dataProvider . '() is unknown')988 ->object($test->setDataProvider('testMethod1', 'aDataProvider'))->isIdenticalTo($test)989 ->array($test->getDataProviders())->isEqualTo(['testMethod1' => 'aDataProvider'])990 ->if($test = new dataProviderTest())991 ->then992 ->object($test->setDataProvider('testMethod2'))->isIdenticalTo($test)993 ->array($providers = $test->getDataProviders())994 ->object['testMethod2']->isInstanceOf(atoum\test\data\provider\aggregator::class)995 ->exception(function () use ($providers) {996 $providers['testMethod2']();997 })998 ->isInstanceOf(atoum\exceptions\runtime::class)999 ->hasMessage('Could not instanciate a mock from ' . $test->getMockGenerator()->getDefaultNamespace() . '\\SplFileInfo because SplFileInfo::__construct() has at least one mandatory argument')1000 ->if($test->getMockGenerator()->allIsInterface())1001 ->then1002 ->exception(function () use ($providers) {1003 $providers['testMethod2']();...

Full Screen

Full Screen

aDataProvider

Using AI Code Generation

copy

Full Screen

1withStatic::aDataProvider();2withStatic::aDataProvider();3withStatic::aDataProvider();4withStatic::aDataProvider();5withStatic::aDataProvider();6withStatic::aDataProvider();7withStatic::aDataProvider();8withStatic::aDataProvider();9withStatic::aDataProvider();10withStatic::aDataProvider();11withStatic::aDataProvider();12withStatic::aDataProvider();13withStatic::aDataProvider();14withStatic::aDataProvider();15withStatic::aDataProvider();16withStatic::aDataProvider();17withStatic::aDataProvider();18withStatic::aDataProvider();19withStatic::aDataProvider();20withStatic::aDataProvider();

Full Screen

Full Screen

aDataProvider

Using AI Code Generation

copy

Full Screen

1echo withStatic::aDataProvider();2echo withStatic::aDataProvider();3echo withStatic::aDataProvider();4echo withStatic::aDataProvider();5echo withStatic::aDataProvider();6echo withStatic::aDataProvider();7echo withStatic::aDataProvider();8echo withStatic::aDataProvider();9echo withStatic::aDataProvider();10echo withStatic::aDataProvider();11echo withStatic::aDataProvider();12echo withStatic::aDataProvider();13echo withStatic::aDataProvider();14echo withStatic::aDataProvider();15echo withStatic::aDataProvider();16echo withStatic::aDataProvider();17echo withStatic::aDataProvider();18echo withStatic::aDataProvider();19echo withStatic::aDataProvider();

Full Screen

Full Screen

aDataProvider

Using AI Code Generation

copy

Full Screen

1$a = withStatic::aDataProvider();2$b = withStatic::bDataProvider();3$c = withStatic::cDataProvider();4$d = withStatic::dDataProvider();5$e = withStatic::eDataProvider();6$f = withStatic::fDataProvider();7$g = withStatic::gDataProvider();8$h = withStatic::hDataProvider();9$i = withStatic::iDataProvider();10$j = withStatic::jDataProvider();11$k = withStatic::kDataProvider();12$l = withStatic::lDataProvider();13$m = withStatic::mDataProvider();14$n = withStatic::nDataProvider();15$o = withStatic::oDataProvider();16$p = withStatic::pDataProvider();17$q = withStatic::qDataProvider();18$r = withStatic::rDataProvider();19$s = withStatic::sDataProvider();20$t = withStatic::tDataProvider();21$u = withStatic::uDataProvider();22$v = withStatic::vDataProvider();23$w = withStatic::wDataProvider();24$x = withStatic::xDataProvider();25$y = withStatic::yDataProvider();

Full Screen

Full Screen

aDataProvider

Using AI Code Generation

copy

Full Screen

1$data = withStatic::aDataProvider();2$data = withStatic::aDataProvider();3$data = withStatic::aDataProvider();4$data = withStatic::aDataProvider();5$data = withStatic::aDataProvider();6$data = withStatic::aDataProvider();7$data = withStatic::aDataProvider();8$data = withStatic::aDataProvider();9$data = withStatic::aDataProvider();10$data = withStatic::aDataProvider();11$data = withStatic::aDataProvider();12$data = withStatic::aDataProvider();13$data = withStatic::aDataProvider();14$data = withStatic::aDataProvider();15$data = withStatic::aDataProvider();16$data = withStatic::aDataProvider();17$data = withStatic::aDataProvider();18$data = withStatic::aDataProvider();19$data = withStatic::aDataProvider();

Full Screen

Full Screen

aDataProvider

Using AI Code Generation

copy

Full Screen

1withStatic::aDataProvider();2withStatic::aDataProvider();3withStatic::aDataProvider();4withStatic::aDataProvider();5withStatic::aDataProvider();6withStatic::aDataProvider();7withStatic::aDataProvider();8withStatic::aDataProvider();9withStatic::aDataProvider();10withStatic::aDataProvider();11withStatic::aDataProvider();12withStatic::aDataProvider();13withStatic::aDataProvider();14withStatic::aDataProvider();15withStatic::aDataProvider();16withStatic::aDataProvider();17withStatic::aDataProvider();18withStatic::aDataProvider();19withStatic::aDataProvider();20withStatic::aDataProvider();21withStatic::aDataProvider();22withStatic::aDataProvider();23withStatic::aDataProvider();24withStatic::aDataProvider();25withStatic::aDataProvider();

Full Screen

Full Screen

aDataProvider

Using AI Code Generation

copy

Full Screen

1$static = new withStatic;2echo $static->aDataProvider(1);3$static = new withStatic;4echo $static->aDataProvider(2);5$static = new withStatic;6echo $static->aDataProvider(3);7$static = new withStatic;8echo $static->aDataProvider(4);9$static = new withStatic;10echo $static->aDataProvider(5);11$static = new withStatic;12echo $static->aDataProvider(6);13$static = new withStatic;14echo $static->aDataProvider(7);15$static = new withStatic;16echo $static->aDataProvider(8);17$static = new withStatic;18echo $static->aDataProvider(9);19$static = new withStatic;20echo $static->aDataProvider(10);21$static = new withStatic;22echo $static->aDataProvider(11);23$static = new withStatic;24echo $static->aDataProvider(12);25$static = new withStatic;26echo $static->aDataProvider(13);27$static = new withStatic;28echo $static->aDataProvider(14);29$static = new withStatic;

Full Screen

Full Screen

aDataProvider

Using AI Code Generation

copy

Full Screen

1echo withStatic::aDataProvider("another item");2echo withStatic::aDataProvider("another item");3echo withStatic::aDataProvider("another item");4echo withStatic::aDataProvider("another item");5echo withStatic::aDataProvider("another item");6echo withStatic::aDataProvider("another item");7echo withStatic::aDataProvider("another item");8echo withStatic::aDataProvider("another item");9echo withStatic::aDataProvider("another item");

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Atoum automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Trigger aDataProvider code on LambdaTest Cloud Grid

Execute automation tests with aDataProvider on a cloud-based Grid of 3000+ real browsers and operating systems for both web and mobile applications.

Test now for Free

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful