我正在努力思考单元测试,但我还需要找到一block拼图。我想做的是为以下代码编写测试。在这种情况下,我有一个非常简单的前端Controller(用PHP编写)。classfrontController{publicfunctionrouteRequest($oRequest){$sClassname=$oRequest->getController();$sMethod=$oRequest->getAction();$oController=new$sClassname();$oResponse=$oController->{$sMethod}($oRequest);return$oR
我刚刚开始在我的项目中实践TDD。我正在开发一个项目,现在使用php/zend/mysql和phpunit/dbunit进行测试。我只是对封装和测试驱动方法的想法有点分心。封装背后的想法是隐藏对多个对象功能的访问。更清楚地说,私有(private)和protected函数不能直接测试(除非您将创建一个公共(public)函数来调用它)。所以我最终将一些私有(private)和protected函数转换为公共(public)函数只是为了能够测试它们。我真的违反了封装原则让位给微功能可测试性。这是正确的做法吗? 最佳答案 TDD圈子对此
我已经开始对我的PHP程序使用单元测试,并且认为Simpletest与其他任何地方一样适合深入研究。我将Simpletest文件添加到我的测试服务器,并在我的自定义PDO类上运行了以下测试:这一切都非常顺利。我尝试构建一个测试套件(到目前为止)仅涉及该测试文件,如下所示:addFile('inc_sql_test.php');}}这崩溃了,我得到了以下读数:Warning:include_once(inc_sql_test.php)[function.include-once]:failedtoopenstream:NosuchfileordirectoryinE:\xampp\htd
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion你们有推荐任何关于PHP的TDD和CI的书籍、视频或讲座吗?
我尝试使用PHPUnit和vfsStream测试move_uploaded_file和is_uploaded_file。他们总是返回错误。publicfunctiontestShouldUploadAZipFileAndMoveIt(){$_FILES=array('fieldName'=>array('name'=>'file.zip','type'=>'application/zip','tmp_name'=>'vfs://root/file.zip','error'=>0,'size'=>0,));vfsStream::setup();$vfsStreamFile=vfsStre
我的工作场所由很多牛仔编码员组成。他们中的许多人都是初级的。这巧合地导致了很多代码质量问题。我正在寻找有关如何最好地让我的团队使用TDD的建议(我们可以从单元测试开始,然后进入回归测试,然后进行更多自动化测试)。最终,我希望我们能更快地从错误中吸取教训,编写出更好的代码,培养出更好的开发人员。我希望有一些关于如何将TDD引入团队的实用建议。具体来说,LAMP(php)堆栈中最好选择什么工具。抱歉,如果这个问题过于开放。 最佳答案 在经历了四次这个过程之后,我发现如果没有一定程度的强制执行,任何TDD的引入都会失败。程序员不想转换风格
我想尝试使用TDD实现俄罗斯方block游戏。根据我在阅读时的理解GrowingObject-OrientedSoftware,GuidedbyTests,我应该首先定义什么是我的验收测试。如果我是对的,执行TDD时的验收测试就像用例一样定义。定义一个良好的第一个验收测试非常重要,它将作为应用程序的“骨架”,因此它应该有点简单。我选择了以下2个验收测试作为我的第一个实现:游戏开始,玩家关闭游戏。游戏开始,玩家什么都不做。他最终输了。这两个验收测试是好的开始测试吗?下一个验收测试应该做什么?我可以想到类似的东西游戏开始,只有方block掉落。玩家以这样的方式放置它们,使得线条总是“爆炸”
我仍在了解测试驱动开发。我对应用程序的用户注册模块有以下要求。系统必须捕获用户的名字、姓氏、电子邮件地址和可选的邮政地址名字和姓氏必须按字母顺序排列名字和姓氏不能为空电子邮件地址必须是有效地址并且是强制性的邮政地址是可选的。在java中实现上面的内容。我写了下面的代码:包含上述字段并具有相应getters和setters的javabean以上字段的验证注解用于保存用户的dao用于输入用户详细信息的用户界面。问题:单元测试应该覆盖上面的哪些代码?即bean的getter和setter、验证注释的存在、dao保存用户的能力、UI中相关表单元素的存在。 最佳答案
我一直在使用guardrails中的框架安静了一段时间,我刚刚爱上了它。我也经常用Java工作,我发现这样的工具不能用于快速测试驱动开发,这让我很惊讶。这是guard为您做的(形成原始网站)-FilesystemchangeshandledbyourawesomeListengem.Supportforvisualsystemnotifications.Huge(morethan120)guardextensionseco-system.TestedagainstRuby1.8.7,1.9.2,1.9.3,REEandthelatestversionsofJRuby&Rubinius.
在Java测试环境中,我可以使用如下代码中的参数化单元测试:@RunWith(value=Parameterized.class)publicclassJunitTest6{privateintnumber;publicJunitTest6(intnumber){this.number=number;}@ParameterspublicstaticCollectiondata(){Object[][]data=newObject[][]{{1},{2},{3},{4}};returnArrays.asList(data);}@TestpublicvoidpushTest(){Syste