单元专题提供单元的最新资讯内容,帮你更好的了解单元。
我最近花了大约70%的时间编写功能编写集成测试.有一次,我在想“该死的,所有这些艰苦的工作都在测试它,我知道我这里没有虫子,为什么我这么努力呢?我们只是略过测试并完成它……“ 五分钟后,测试失败.详细检查表明,这是我们正在使用的第三方库中的一个重要的,未知的错误. 那么……你在哪里可以测试什么来衡量信仰呢?您是否测试了所有内容,或者您​​预期大多数错误的代码? 在我看来,在测试方面务实是务实的.优
我想知道 BDD是否是 TDD的替代品?我现在理解的是,在最终的BDD中,我们不再进行单元测试了.相反,有故事/情景/功能和“测试步骤”.它看起来像是我完全取代TDD. TDD死了吗? 一点也不. BDD只是TDD的变种. 在TDD中,您将需求表示为可执行测试,然后编写生产代码以完成测试. BDD除了将这些要求重新制定为更易于阅读的形式之外什么都不做,因此对于查看测试报告的人类读者而言,测试更加冗
实习生是否使用requireJs来加载测试?我正在使用 this approach来模拟我想要测试的模块的依赖关系,所以我想知道这是否也适用于Intern. 实习生使用Dojo Toolkit的AMD加载程序.要模拟依赖项,您应该能够使用标准的AMD映射功能.在您的Intern配置文件中,类似这样的内容应该满足您的需求: define({ …, loader: { map: {
一般来说,我仍然是一个测试新手的单位. 顺便说一句,您也可以在xUnit.net等等其他论坛上看到这个问题. 因为这对我来说是一个重要的问题.我提前为我支持 交叉发布;你的意见对我而言并不是每个人都非常重要 在这个论坛也属于其他论坛. 我正在研究一个已有超过700个单元测试的大十年历史遗留系统 最近写的(700只是一个小小的开始).测试恰好是写的 在MSTest中,但这个问题适用于所有测试框架AF
与 Does TDD mean not thinking about class design?类似,我无法想象传统“设计”舞台适合TDD的地方. 根据保龄球游戏卡塔(“对话”版本,其链接此刻逃脱了我),TDD似乎忽略了早期的设计决策(丢弃框架对象,滚动对象等).在这个例子中,我可以看到,这是一个很好的主意,遵循测试,忽略你的初步设计思路,但是在更大的项目或者你想要开放扩展/定制的项目中,将东西放
我正在建立一个新的应用程序,尽可能忠实地坚持“测试第一”的发展.我发现自己在需要实施/更改功能的情况下,该功能会使许多现有的单元测试无效.我该怎么处理这个?我看到,有3个选项: >更新或删除所有现有测试以满足新功能要求(如有必要,添加更多),然后实现该功能 >首先实施该功能,运行测试以查看故障,并更新或删除任何失败的测试(根据需要添加更多信息) >添加新功能的新测试, 实现功能,运行所有测试 看到
我现在目睹了两家公司采用Scrum进行敏捷开发. 在这两种情况下,编码的标准足够好,当应用程序的每个部分仅由一个或两个开发人员处理时,开发人员在开始下一个任务之前花费合理的时间来处理应用程序的一部分.缺陷率也是合理的. 但是,Scrum预计开发人员将会: >所有人都可以在应用程序的所有位上工作. >只能在应用程序的一个区域工作多达几天,然后再移动到下一个区域 >大多数工作在他们没有写的代码 代码质
我正在用Grails开发.由于框架将引导数据和完全刷新的 spring上下文,我发现我为服务编写了很多集成测试.让我重新说一下:我发现我没有为服务编写单元测试,只编写集成测试.这是一个坏主意吗?我看到的唯一缺点是我的测试需要更长的时间才能运行. 我在控制器上使用单元测试,就像在控制器中我正在测试各种应用程序流,结果类型,重定向逻辑等.但我编写的大多数测试都是集成测试.这似乎是传统J2EE测试的一个
我希望这个问题不是“有争议的” – 我只是基本上问 – 有没有人在这里购买过TypeMock并对结果感到高兴(或不满意)? 我们是一个只有12名开发人员的小型开发商店,其中包括2名开发经理.到目前为止我们一直在使用NMock,但是有一些限制.我做过研究并开始玩TypeMock,我喜欢它.它是超级干净的语法,让你基本上模拟一切,这对遗留代码很有用. 问题是 – 我如何证明我的老板为每个许可证支付80
使用一个小的(目前在150个位置,完成时可能少于500个)我正在研究的C项目,我正在自学测试驱动开发.基于我在网上发现的一些东西 – 特别是 these slides by Olve Maudal,我刚刚在我的单元测试中使用了断言. 由于我刚学习tdd,到目前为止我还避免了学习单元测试框架(如cunit)的开销.在这一点上,我的想法是,框架的额外学习曲线 – 即使是浅薄的 – 也不值得为这样一个小
我有一些编写了一些测试围绕FTP服务器API的包装器的单元测试. 单元测试和FTP服务器都在同一台机器上. 包装器API部署到我们的平台,并用于远程处理和Web服务方案.包装器API本质上采用XML消息来执行诸如添加/删除/更新用户,更改密码,修改权限等任务. 在单元测试中,比如说要将用户添加到虚拟域,我创建XML消息以发送到API. API执行它并返回一个响应,其中包含有关操作是成功还是失败的状
有点像golang初学者,但之前我曾经使用过测试框架.如何在不注入依赖项的情况下嘲笑和伪造依赖方法返回的内容?我之所以不想使用依赖注入,是因为正在使用许多外部包方法,并且在构造函数中注入所有方法都很笨重. 我搜索了这个在线/ stackoverflow,解决方案是始终使用依赖注入.有时这不是一个可行的选择. 这是我正在尝试以代码方式执行的操作: B / b_test.go package b f
我想学习如何构建旨在测试自身的“健壮”软件.换句话说,我如何在我的软件中实现自动化测试(使用 java或groovy或c). 所以我想知道在哪里学习这些(书籍或网站)以及我需要哪些工具和库? >一般TDD初学者:Kent Beck:通过实例测试驱动开发 >通用单元测试参考:Gerard Meszaros:xUnit测试模式:重构测试代码 >新建项目的TDD:Steve Freeman,Nat Pr
我想知道 : >如果分开测试是个好主意(单元| 功能…)在Symfony2中, >以及我应该如何分开: 按文件夹结构: tests |-- functional |-- unit 通过phpunit.xml中的config: <testsuites> <testsuite name="unit">...</testsuite> <testsuite name="funct
DDD建议域对象随时都应处于有效状态.聚合根负责保证不变量和工厂组装具有所有必需部分的对象,以便它们在有效状态下初始化. 然而,这似乎使创建简单,孤立的单元测试的任务复杂化. 假设我们有一个包含Books的BookRepository.一本书有: >作者 >一个类别 >您可以在其中找到该书的书店列表 这些是必需的属性:一本书必须有一个作者,一个类别和至少一个书店,你可以从中购买这本书. 可能有一个
依赖注入可以帮助您很好地对代码进行单元测试.但是我们如何测试是否在运行时最终注入了正确的依赖项?例如,我有一个服务类,它接收服务验证器列表.由于验证器列表是由DI容器注入的,我们如何确保注入正确的验证器?如果某些开发人员错误地从列表中删除了验证器,该怎么办?即使我们在依赖注入上编写测试,我们也无法在不破坏封装的情况下断言所有依赖项.唯一的方法是集成测试,它对服务的验证行为进行断言.如果服务行为很复
例如: // NUnit-like pseudo code (within a TestFixture) Ctor() { m_globalVar = getFoo(); } [Test] Create() { a(m_globalVar) } [Test] Delete() { // depends on Create being run b(m_globalVar) } … 要么
我刚刚阅读了Michael C. Feathers的精彩书籍 Working Effectively with Legacy Code,这是对遗留代码进行测试的圣经.在本书中,他描述了一种称为编辑触发测试的东西: If it isn’t out by the time this book is released, I suspect that someone will soon develop a
我正在尝试使用TDD进行编码练习.我想问一下,我应该测试一个不应该在函数中发生的数据,但这些数据可能会破坏你的程序. 这是一个简单的例子来说明我的要求: 具有一个INT参数的ROBOT函数.在这个函数中我知道有效范围只有0-100.如果使用-1,101,则该函数将被中断. function ROBOT (int num){ ... ... ... return result; } 所以我为这个函数
我试图了解TDD方法并且遇到 – 我认为是 – 鸡和鸡蛋问题:如果错误修复涉及更改方法的签名该怎么办. 请考虑以下方法签名: string RemoveTokenFromString (string delimited, string token) 顾名思义,此方法从分隔中删除令牌的所有实例,并返回结果字符串. 我后来发现这个方法有一个错误(例如,从字符串中删除了错误的位).因此,我编写了一个测试