PHPUnit_Extensions_Database_TestC
全部标签 我使用以下方法在我的PHPUnit测试中分派(dispatch)Slim应用程序的路由:protectedfunctiondispatch($path,$method='GET',$data=array()){//Prepareamockenvironment$env=Environment::mock(array('REQUEST_URI'=>$path,'REQUEST_METHOD'=>$method,));//Preparerequestandresponseobjects$uri=Uri::createFromEnvironment($env);$headers=Header
我在使用phpunit命令测试我的应用程序时遇到上述错误。publicfunctiontestProductCreationFailsWhenNameNotProvided(){$product=factory(\App\Product::class)->make(['name'=>'']);$this->post(route('api.products.store'),$product->jsonSerialize())->seeJson(['name'=>['Thenamefieldisrequired.']])/*line86*/->assertResponseStatus(42
我正在测试一个旨在测试用户是否拥有给定电子邮件的对象。因此,在调用“tryEmail”方法时,它会向给定的电子邮件地址发送一strip有确认链接的消息。我的测试看起来像这样:publicfunctiontestSendingWasSuccessful(){$confirmationObject=$this->getMock('LT\EmailConfirmation\Model\ConfirmationObjectInterface');$testType='test.type';$testEmail='test@example.com';$testData=[];//EmailTes
我正在尝试将预先计算的测试用例数组发送到模拟中,以便在连续调用时返回-类似于map函数。但是它需要一个参数列表,而不是一个数组。我的数组已经由夹具生成器生成,并且可能具有可变长度。我想做的是这样的事情,但这当然会导致它在第一次调用时返回整个数组。//Inatestcase:$processorMock->method('process')->willReturnOnConsecutiveCalls($fixtureLoader->getProcessorScenarios()//howtoexplodethis?);//classFixtureLoaderpseudocode:func
我正在使用Laravel5.4得到上面的errorCalltoundefinedmethodIlluminate\Database\Query\Builder::notify()我遇到过这个解决方案YoumustaddIlluminate\Notifications\NotifiabletraitinUsermodel.(link:CalltoundefinedmethodIlluminate\Database\Query\Builder::notify())即使它不适合我下面是我的Usermodel我还没有为models创建任何文件夹,它的路径是默认的hasMany('App\Pro
我正在使用PHPUnit生成代码覆盖率报告vendor/bin/phpunit--coverage-clovercoverage.clover我有一些代码库在他们的测试中使用了@covers标签,表明他们测试的服务。在这些代码库中,没有针对值对象等事物的专门测试。这导致覆盖率报告表明很多代码没有经过测试,而实际上是这样。这使得很难通过查看覆盖率报告找到实际未经测试的代码。解决此问题的一种方法是删除@covers标记,尽管这些标记对于指示意图很有用,并且在IDE识别它们时它们有助于导航。因此我希望PHPUnit忽略这些标签。我发现有一个--disable-coverage-ignore标
我有一系列PHPUnit测试来验证类“A类”。我有另一个类,“B类”,它扩展了A类。有没有一种好的方法可以在不复制测试代码的情况下测试“B类通过了A类的测试”,或者换句话说“B类的行为与A类一样”?我可以测试扩展(使用instanceof),但这似乎是一个误导性测试。我关心它的行为是否像A类,而不是它扩展了A类,对吧?还是错了? 最佳答案 只需扩展A类的PHPUnit测试用例,对于B类,就可以了。 关于PHPUnit,测试"BehavesLikeA...",我们在StackOverflo
是否可以将PHPUnit测试打包为PHAR存档,并使用phpunit运行它们?我使用以下脚本创建了一个.phar:addFile('mytest.php');$sStub=setStub($sStub);$cPhar->compressFiles(Phar::GZ);$cPhar->stopBuffering();?>但是当我尝试按如下方式运行生成的存档时:phpunitmytests-archive.phar我收到错误信息:#!/usr/bin/phpPHPUnit3.3.17bySebastianBergmann.ClassMyTestClasscouldnotbefoundin/
我一直在用Zend开发一个典型的博客风格的应用程序。到目前为止,我一直在进行最少的测试,但现在我需要进行防弹测试,并且我正在寻求有关我的单元测试策略的一些建议或提示。模型:为了测试模型,我一直在扩展PHPUnit_Framework_TestCase。这似乎工作正常。我已经阅读了Zend_Test_PHPUnit_DatabaseTestCase,但是我不确定我会在哪里使用它?我认为这可能不需要我在每次测试之间删除/创建数据库,但事实似乎并非如此?在每次测试之间删除/创建数据库变得非常痛苦,因为我有很多测试数据。有什么简单的方法可以解决这个问题(例如模拟数据库?),还是我应该减少测试数
我在更新Symfony2中的架构时遇到问题。我已经使用doctrine将数据库导入到Symfony2,并在YML中创建了所有ORM文件。我已经根据这个元数据创建了所有实体并且效果很好,但是如果我想使用orm.yml文件更改数据库架构,它不会更新我的数据库,甚至不会在我重新生成实体时更新它们。导入创建了orm.yml文件/src/{name}/{my}bundle/Resources/config/doctrine/metadata/orm/{table}.orm.yml它的创建没有错误。当我这样做时:phpapp/consoledoctrine:schema:update--dump-