在TDD中,您选择一个测试用例并实现该测试用例,然后编写足够的生产代码以使测试通过,重构代码,然后您再次选择一个新的测试用例,然后循环继续。我在这个过程中遇到的问题是,TDD说你写了足够多的代码只是为了通过你刚写的测试。我指的是,如果一个方法可以有,例如100万个测试用例,你能做什么?!明明不是写100万个测试用例?!让我通过下面的例子更清楚地解释我的意思:internalstaticListGetPrimeFactors(ulongnumber){varresult=newList();while(number%2==0){result.Add(2);number=number/2;
我很喜欢Gitflowbranchingmodel但我不确定将TDD周期放在哪里——我是否应该简单地使用一个功能分支并在每次编写或通过测试时提交(加上重构后)?创建一个子分支并将“完成”的单元merge到功能分支中?我应该提交每个失败的测试还是只有在通过后才提交?这是我目前在功能分支上所做的:编写测试,提交由于不存在的接口(interface),测试可能会产生错误,修复这个问题,修改提交使(现在只是失败的)测试通过,修改提交重构,新提交转到1 最佳答案 我不确定这是否具有代表性,但作为一个开发人员来说,我使用git-flow,这是(
我开始了一个新的游戏项目,并决定为此学习和使用OpenGL(项目正在Windows和Linux上同时开发)。同时,我对测试驱动开发也很感兴趣,并且正在尽最大努力编写单元测试,以便在任何实际代码之前引导设计。但是,我认为我缺乏知识可能会绊倒我,我在尝试为代码库的“渲染”部分编写单元测试时一直碰壁。我希望有人能给我一些关于如何继续的见解。我知道我需要对与OpenGL的交互进行单元测试,而不是OpenGL本身。我能看到的唯一方法是在某种程度上将OpenGL从我的其余代码中抽象出来,或者通过拦截OpenGL函数调用,或者通过创建一个全新的类接口(interface),允许我创建该类的模拟版本用
虽然我已经为我所做的大部分代码编写了单元测试,但我最近才通过KentBeck的示例获得了一份TDD副本。我一直对我做出的某些设计决定感到遗憾,因为它们阻止了应用程序“可测试”。我通读了这本书,虽然其中一些看起来很陌生,但我觉得我可以管理它并决定在我当前的项目中尝试它,该项目基本上是一个客户端/服务器系统,两个部分通过该系统进行通信。USB。一个在小工具上,另一个在主机上。该应用程序使用Python。我开始了,很快就陷入了困惑的重写和小测试中,后来我发现这些并没有真正测试任何东西。我把它们中的大部分都扔掉了,现在有了一个工作应用程序,它的测试全部凝结成2个。根据我的经验,我有几个问题想问
我正在寻找像Ruby的RSpec这样的测试框架来在Python中进行测试驱动开发。像RSpec这样的框架的优势在于它提供了一个非常适合TDD的DSL。首先,您用英语描述测试,然后编写测试,当测试失败时,您会收到一条消息,说明哪个测试失败了,并很好地描述了测试试图做什么。到目前为止,我已经看过PyTest和Nose。PyTest似乎比RSpec更接近ruby的MiniTest。它没有提供带有语言的DSL以使其读起来像规范,而是专注于断言。Nose看起来像是PyTest上的一个包装器,它没有添加自己的DSL。我还缺少另一个选项吗?还是我只是在滥用PyTest和Nose?Python社区
我是一名高级工程师,在一个由其他四人组成的团队中工作驱动大型美国职业体育网站的内容管理应用程序地点。我们两年前就开始了这个项目,并选择了Java作为我们的平台,虽然我的问题不是Java特定的。自从我们开始了,我们的队伍出现了一些流失。我们每个人都有在决定实现方面有很大的自由度细节,尽管重要的决定是通过共识做出的。我们的项目是一个相对年轻的项目,但我们已经到了一定程度当没有一个开发人员知道有关该应用程序的所有信息时。首要的原因是我们的发展速度很快,其中大部分发生在我们运动的赛季揭幕战前的紧缩中;和事实上,我们的测试覆盖率基本上是0。我们都了解TDD的理论优势并同意该方法将改善我们的生活和
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭9年前。Improvethisquestion我在编写API和核心功能时会编写单元测试。但我想成为吃、睡和呼吸TDD和BDD的酷迷。以正确的方式开始使用TDD/BDD的最佳方式是什么?有什么书籍、资源、框架、最佳实践吗?我的环境是带有Grails前端的Java后端,与多个外部Web服务和数据库集成。 最佳答案 阅读博客是一个很好的起点。然后买写博客的人的书。我强烈推荐一些:“鲍勃叔
如何使用TDD和MongoDB作为我的第二个数据库?谢谢编辑:使用Rspec或其他任何允许我对其进行测试的方法。 最佳答案 [更新]设置好MongoMapper后,您可以轻松地直接使用mongodb连接mongodb=MongoMapper.databasecollection=mongodb.collection("my_collection")collection.find.first=>{"_id"=>BSON::ObjectId('4e43dfc75d1e1e0001000001'),"key1"=>"val1"}thiso
如何通过MongoidonRails使用MongoDB编写适当的单元测试(和集成测试)?我在问,因为与使用SQLite3相反,即使在运行测试时,我所做的一切都会持续存在。所以目前我正在编写创建测试,然后我手动删除我所做的一切。但是对于集成测试来说,它变得越来越烦人甚至变得复杂。我所做的示例:before(:each)do@user=User.create!(@attr)endafter(:each)do#MongoDBisnotatransactionalDB,soaddedobjects(create)duringtestscan'tberollbacked#checkingfort
我想知道您建议从Ruby(而不是Rails)中的TDD开始,就是这样,我对TDD是什么略知一二,但我正在寻找为此使用哪个工具,您知道吗这个教程? 最佳答案 我使用Rubykoans学习了Ruby,它们是通过TDD学习Ruby的绝佳方式。但永远不要忽视RSPEC。阅读:HowtogetstartedonTDDwithRubyonRails?这涵盖了Rails,但想法是一样的。测试驱动开发。 关于ruby-如何使用Ruby开始TDD?,我们在StackOverflow上找到一个类似的问题: