这个问题在这里已经有了答案:关闭13年前。我一直在考虑为我的PHP/MySQL项目编写单元测试。让我烦恼的是我如何测试表单验证、ajax功能和UI功能(例如单击链接)。此外,我不希望测试依赖于UI的某一方面,因此如果我移动一个链接,那么所有测试都会中断。有没有人对我应该对代码的哪些部分进行单元测试、大约应该在单元测试上花费多少时间以及任何其他建议/提示有任何想法/建议?
我想知道如何生成一个phpunit报告,告诉哪些测试失败了,哪些测试通过了。phpunit.xml中有任何配置吗?除了php覆盖率报告,我找不到任何信息。我想要像下面的图片(由junit生成)谢谢 最佳答案 您可以从junit.xml日志文件创建几乎所有您想要的输出格式。可以找到一个自己动手的例子here,hereisatable和hereisalittlemoreonthesubject.如果你想要多项目的小东西,可以使用“sismo”,这是一个非常小的CI服务器,它运行你所有的本地项目,这样你就可以随时了解它们的状态。Check
使用PHPUnit3.6我正在尝试在下面的Controller类中测试exec()方法。这个方法做了两件事:根据对象的现有属性确定要调用的方法的名称,并且...如果确定的Controller方法是可调用的,则执行它,如果不是,则该方法抛出异常(简化的)源代码如下所示:abstractclassCLIControllerextendsController{/*irrelevantclassdetailshere*/publicfunctionexec(){$action=!empty($this->opts->args[0])?$this->opts->args[0]:$this->de
我有一个PHPUnitBootstrap文件,它创建一个用于与数据库相关的单元测试的测试数据库,并注册一个关闭函数以在测试完成后销毁该数据库。每次运行都有一个新的数据库!问题:当测试失败时,我想保留数据库以进行调试。目前,我必须手动禁用我的register_shutdown_function()调用,然后重新运行测试。如果我可以访问PHPUnit运行的最终成功/失败状态,我可以根据PHPUnit引导文件中的开关动态触发数据库销毁过程。PHPUnit将此信息存储在某处以触发正确的结果事件,即输出OK与FAILURES!。然而,据我所知,此信息不会暴露给用户级Bootstrap文件。有人做
我很乐意编写单元测试,但是当我一起运行它们时它们会发生冲突。我正在测试这个类:classMyClass{publicfunctionsayHello(){return'Helloworld';}}使用这个测试。所有测试的结构如下:classMyClassTestextendsPHPUnit_Framework_TestCase{private$subject;publicstaticfunctionsetUpBeforeClass(){require_once('path/to/MyClass.php');}publicfunctionsetUp(){$this->subject=ne
我正在尝试使用PHPUnit测试下面的类classstripeextendspaymentValidator{public$apiKey;publicfunction__construct($apiKey){$this->apiKey=$apiKey;}publicfunctioncharge($token){try{return$this->requestStripe($token);}catch(\Stripe\Error\Card$e){echo$e->getMessage();returnfalse;}}publicfunctionrequestStripe($token){/
我正在寻求有关为我们基于JSONAPI的应用程序创建复杂测试的帮助。短问题场景:测试创建临时实体(用于比较)EntityManagerMock设置为等待persist($temporaryEntity)使用一些参数测试调用真实方法方法创建实体并尝试保存在模拟EM测试失败,因为时间改变了1秒我们尝试使用ClockMock但它仅适用于被调用的类/命名空间。我们的方法在其他命名空间中,实体在接下来的某个时间创建。我们正在寻找如何临时覆盖PHP平台\DateTime类的解决方案-或如何对项目中的所有namespace/类使用ClockMock的技术(但仅用于测试)。我们尝试修改基于Symfon
使用pimple作为我的DI容器,我一直在勇敢地重构小类以依赖DI注入(inject),消除我认为可以轻松删除的硬编码依赖项。我完成这项任务的方法非常简单,但我不知道它是否合适,因为除了上个月在这里学到的知识外,我在DI和单元测试方面的经验很少。我创建了一个类ContainerFactory,它是pimple的子类,并且在该子类中创建了简单地返回特定对象容器的方法。构造函数根据类型调用适当的创建者方法:function__construct($type=null,$mode=null){if(isset($type)){switch($type){case'DataFactory':$
我有以下测试:publicclassBook{publicbooleanpostLoadInvoked;@PostLoadprivatevoidonPostLoad(){postLoadInvoked=true;}}publicclassMyIntegrationTestextendsAbstractIntegrationTest{@AutowiredprivateBookDAObookDAO;@TestpublicvoidloadBooks(){Bookbook=bookDAO.findOne(...);assertTrue(book.postLoadInvoked);}}此测试按原
我正在寻找用于单元测试JNI源代码的工具或解决方案。到目前为止,我的搜索车还没有找到任何单元测试JNI代码的解决方案。我的选择是用java编写单元测试并进行native调用,验证返回值。这里的问题是我无法获得代码覆盖率报告。对native实现的调用将需要由nativestub实现进行模拟或支持。java测试代码(调用)--->DLL(JNI)中的native实现--->模拟/stubC++代码如果有任何可用的解决方案,请分享。 最佳答案 确实没有任何全面的工具可用于自动构建和测试JNI代码。我尝试做的是创建一个独立的native库,