tdd相关内容

获取模拟文件的实际返回值。read()

我正在使用python-mock模拟文件打开调用。我希望能够以这种方式传入假数据,这样我就可以验证read()正在被调用,并且可以使用测试数据,而不会在测试中命中文件系统。 这是我目前掌握的信息: file_mock = MagicMock(spec=file) file_mock.read.return_value = 'test' with patch('__builtin__. ..
发布时间:2022-03-16 13:41:45 Python

phpunit可以使用多个数据提供者吗

简而言之:phpunit在运行测试时可以使用多个数据提供者吗? 例如,我有一个名为 getById 的方法,我需要为它运行成功和不成功的测试用例. 成功的测试用例意味着它可以返回相应的记录.而对于不成功的,输入可以分为两类:无效和失败. invalid表示输入不合法,failed表示输入可能有效,但没有对应的ID对应的记录. 所以代码是这样的: /*** @dataPro ..
发布时间:2022-01-25 13:55:02 PHP

测试 Laravel 4 应用程序的第一枪(PHPSpec/BDD 与 PHPUnit/TDD)

我已经为这个问题纠结了太久了.我知道我只需要跳入其中一个或另一个,因为它们显然都是可行/有用的工具,但已经被困在栅栏上,研究了两个星期. PHPUnit vs. PHPSpec - 哪一个 可能会带来更好的长期可维护性和编程实践? 我已经与几位经验丰富的 PHPUnit -> PHPspec 转换/用户交谈过,他们现在对 PHPspec 发誓,声称由于其 BDD 方法,它促进了更好的设 ..
发布时间:2022-01-25 13:50:48 其他开发

Mockery 中的重载和别名有什么区别?

我不熟悉使用 Mockery 并与术语 alias 和 混淆>重载.谁能给我解释一下什么时候用哪个? 解决方案 Overload 用于创建“实例模拟".当创建一个类的新实例时,这将“拦截"并且将使用模拟.例如,如果要测试此代码: class ClassToTest {公共函数methodToTest(){$myClass = new MyClass();$result = $myClas ..
发布时间:2022-01-25 13:29:28 PHP

多态性或条件会促进更好的设计吗?

我最近偶然发现了 这篇文章在 google testing blog 中关于编写更多可测试代码的指南.在此之前我一直与作者达成一致: 支持多态而不是条件:如果你看到一个 switch 语句,你应该考虑多态.如果您在课堂上的许多地方看到相同的 if 条件重复,您应该再次考虑多态性.多态性会将你的复杂类分解成几个更小的更简单的类,它们清楚地定义了哪些代码片段是相关的并一起执行.这有助于测试,因为 ..
发布时间:2022-01-24 16:03:24 C/C++开发

TDD 和 ADO.NET 实体框架

我最近一直在使用 ADO.NET Entity Framework,我发现它适合我正在开发的项目的需求.我也觉得它的非侵入性很酷. 从现有数据库生成数据模型后,您将面临集成生成模型和业务逻辑的任务.更具体地说,我习惯于集成测试我的类,这些类通过 DAL 接口的模拟/存根与数据存储交互.问题是您无法使用 ADO.NET Entity Framework 执行此操作,因为它生成的实体是没有接口的 ..

如何使用 Cucumber 测试非 Ruby、非 Rack API

我用黄瓜做很多事情.我真的很喜欢它作为 BDD 环境. 所以我想将它用作测试 API 的外部工具.我想做这样的事情: 场景:点击 api/info 路径并获取信息当我访问 API 路径 '/info'然后我应该看到以下文本“这里是关于 API 的信息" 或类似的东西.我主要想把 API 当作一个黑匣子,只测试输入和输出.我不打算检查 API 中的任何内容. 我看过的大多数与 Cu ..
发布时间:2022-01-22 23:57:09 其他开发

如何使用黄瓜在场景之间共享状态

我有一个功能“从外部网站导入文章".在我的第一个场景中,我测试从外部网站导入链接列表. 功能:从外部网站导入文章场景:在 example.com 上搜索文章并返回链接鉴于有一个进口商它的 URL 是“http://example.com"当我们搜索“演示"时那么 Importer 应该返回 25 个链接其中一个链接应该是“http://example.com/demo.html" 在我的步骤中 ..
发布时间:2022-01-22 23:16:45 其他开发

组织功能文件的最佳方式是什么?

我尚未解决的一个挑战是以某种方式组织我的功能文件和场景,以便在 Specflow 和 BDD 中轻松导航和探索. 想象一年后有人想来了解这个系统.从哪儿开始?什么最重要,什么不重要?特征之间有什么关系吗?系统是否处理特定场景?作者有没有想过这个问题? 谁能分享一些专注于此的技术、阅读或工具? 解决方案 这个问题确实是关于个人喜好,但我的答案是如何让我的目录更容易理解. 对 ..
发布时间:2022-01-22 23:15:17 其他开发

VB6 有什么好的 TDD 工具或资源吗?

是的,我知道我已经落后于时代,但我这里有一个古老的 VB6 编辑器应用程序,我相信没有人会很快升级到 .NET.它使用了几个第三方 DLL 工具,并且由于它仍在使用旧的 RichEdit 控件,因此我基本上可以仅使用这个工具来建立自己的 Bug 农场. 足够了,我正在尝试看看我是否可以使用 TDD,这样我就可以开始为我需要修复的每个行为/功能编写单元测试,所以迟早我可以拥有一个完整的回归测试 ..
发布时间:2022-01-20 18:46:47 C#/.NET

TSQLT 单元测试 - 数据类型文本和文本在等于运算符中不兼容

我从 AssertEqualsTable 收到此错误“数据类型文本和文本在等于运算符中不兼容." 然后 “'TableCompare' 过程试图返回 NULL 状态,这是不允许的.将返回状态 0." 选择 *进入#Actual来自 [dbo].[InvoiceOut];-- 使预期表成为#actual 结构的空表,因为我们截断了它,所以它应该是空的.选择顶部(0)*INTO #预期从 ..
发布时间:2022-01-16 23:28:04 其他开发

Android 测试驱动开发

我在制作 Android 应用程序方面拥有丰富的经验.对于我的新项目,我们决定进行测试驱动开发 (TDD).我一直在使用 Robotium 进行用户场景测试,它运行良好,看起来也很简单. 对于单元测试,我尝试使用 (MockContext Android Class) 模拟 Context,但我无法这样做.我浏览了这个博客 http://sites.google.com/site/andro ..
发布时间:2022-01-16 20:27:56 移动开发

在 Symfony 2 WebTestCase 上创建测试数据库和加载夹具的最佳方法?

我有一个在我的应用程序中执行一些基本路由的 WebTestCase. 我想在 PHPUnit 的 setUp 方法上创建一个与我的主数据库相同的测试数据库,并将夹具加载到其中. 我目前正在做一些解决方法并执行一些控制台命令,如下所示: 类 FixturesWebTestCase 扩展了 WebTestCase{受保护的静态$应用程序;受保护的函数 setUp(){self::runC ..
发布时间:2022-01-16 17:19:19 其他开发

退出量角器 e2e 测试失败?

有没有人知道是否有一个配置可以添加到量角器的 e2e.conf.js 中,这样一旦失败就退出测试?默认行为是,如果测试早期失败,您需要等到它完成修复错误. 从工作流程的角度来看,这非常令人沮丧. 有解决这个问题的办法吗? 谢谢 解决方案 没有这个选项.你可以实现 jasmine-bail-fast ..
发布时间:2022-01-16 16:46:27 其他开发

有哪些不同类型的测试替身及其用途?

我在学习测试驱动开发的在线课程时遇到了测试替身的概念.根据课程中测试替身的定义: 测试替身:测试替身是在单元测试中用来替代真实生产系统协作者的对象. 我知道测试替身是什么意思.但是后来有人提到有各种类型的测试替身.课程中提到的是: Dummy:可以根据需要传递但没有任何类型的测试实现且永远不应使用的对象. Fake :这些对象通常具有特定接口的简化功能实现,足以进行测试但不 ..
发布时间:2022-01-14 18:01:51 其他开发

在 beta/原型设计期间进行单元测试是一个坏主意吗?

我们开始的一个新项目引入了许多我们不太熟悉的新技术,以及我们没有大量实践的架构.换句话说,服务类之间的接口和交互等我们正在构建的东西相当不稳定,由于内部和客户的反馈,更是如此.尽管我一直对不断变化的规范感到沮丧,但我认为这在某种程度上是构建我们以前从未构建过的东西的必要部分——如果我们只是坚持最初的设计和范围,最终产品可能会是与现在相比,它的创新性和实用性要少得多. 我还介绍了测试驱动开发 ..
发布时间:2022-01-14 17:48:57 其他开发

进行 TDD 时的性能测试最佳实践?

我正在处理一个急需进行性能调整的项目. 如果我的优化没有提高程序的速度,我该如何编写失败的测试? 稍微详细一点: 问题不在于发现要优化哪些部分.为此,我可以使用各种分析和基准测试工具. 问题在于使用自动化测试来证明特定优化确实具有预期效果.如果我以后可以使用测试套件来发现可能的性能回归,那也是非常可取的. 我想我可以运行我的分析工具来获取一些值,然后断言我的优化代码会 ..
发布时间:2022-01-14 17:48:07 其他开发