我一直在学习用C++中的Google测试进行单元测试。
如果单元测试的目的是确保代码的某些段或对象按照预期的方式工作,那么我认为没有必要在最终项目中编译和导出单元测试代码,对吗?反正用户也不会使用它。它似乎使项目的规模变得不必要的大。
我的主要问题是:所有的单元测试代码会随最终项目一起编译导出吗,还是在导出之前我必须手动删除所有的单元测试?
对于单元测试和导出项目,是否有一个最佳的(或通用的)实践?
任何测试都用于维护源代码。
当您在源代码中做一些更改时,您应该运行测试来验证:新功能正常工作,旧功能没有被破坏。如果测试尾随,这是开发人员必须修复的信号。
因此,如果您的应用程序或库是以可精确的方式交付的,那么就没有必要交付测试。为什么?当您只有可执行文件时,您无法修改代码,因此没有必要运行测试。
如果您要以开源的形式发布一个库,那么您的测试也应该发布。
如果您只是以可执行的形式发布库,那么测试的源代码可以是文档的形式。如果测试编写得当,它们将记录如何以各种可能的方式使用API,因为测试是一种代码(形式语言),所以这种形式的文档不能被曲解。
将测试作为可执行文件传送根本没有降神作用。
我建议看鲍勃叔叔(罗伯特·C·马丁)的演讲,他在大部分演讲中解释了什么是考试,为什么考试是重要的。
如果您要发布一个库,发布单元测试是很常见的。例如,假设您正在Mac或Linux上进行开发,而有人想在Windows上进行编译。好吧,他们应该能够运行您的测试,以确保它们传递给不同的环境。或者安卓,或者一些微控制器。随便吧。
另外,有人可能会决定帮助您改进项目。他们会增加一个很酷的功能。如果他们能运行您的单元测试以确保它们不会破坏任何东西,那就很好了。
所以是的,如果您将项目作为源代码发布,请包含单元测试。如果您只是发布一个编译的库,您可以排除它们。
单元测试 单元测试例子放到自己开发的模块下。 如果依赖了第三方服务端(例如Zookeeper),请手动加入 profile。参考 registry-zookeeper 模块代码。 如果依赖了其它模块要集成测试,请放到 test/test-intergrated 模块中。 如果还依赖了第三方服务端(例如Zookeeper),请放到 test-intergrated-3rd 模块中。 性能测试 关闭了
问题内容: 基本上,当测试中断或通过时,咆哮通知(或其他回调)。 像这样的东西存在吗? 如果没有,那应该很容易写..最简单的方法是.. 跑 检查要监视的文件是否已被修改(可能只是已保存)。 在这些文件中运行任何测试。 如果测试失败,但在上一次运行中通过,则生成咆哮警报。与失败然后通过的测试相同。 等待,然后重复步骤2-5。 我可以看到的问题是测试是否在其他文件中。一种简单的解决方案是在每次保存后运
Android Studio 1.1 添加了单元测试支持,详细请看 Unit testing support。本章的其余部分描述的是 “instrumentation tests”。利用 Instrumentation 测试框架可以构建独立的测试 APK 并运行在真实设备(或模拟器)中进行测试。
英文原文:http://emberjs.com/guides/testing/unit/ 单元测试用于测试代码的一个小片段,确保其功能正常。与集成测试不同,单元测试被限定在一个范围内,并且不需要Ember应用运行。 全局 vs 模块 过去如果没有作为一个全局变量加载整个Ember应用,要对应用进行测试非常困难。通过使用模块(CommonJS,AMD等)来编写应用,可以只加载被测试的部分,而不用将其
为了让单元测试跑一个批处理的任务,这个框架必须加载这个任务的ApplicationContext,两个注解的触发方式: @RunWith(SpringJUnit4ClassRunner.class):表明这个类需要使用Spring的测试工具 @ContextConfiguration(locations = {…}):表明哪些xml文件包含ApplicationContext @RunWith
问题内容: 我在该领域做了一些谷歌搜索,发现了很多有关让Jenkins理解boost.test的XML输出格式的讨论,但是没有规范的参考。 有人说我们只需要使用XLST来转换XML格式,另一些人则认为XML在此之前需要进行一些修改有人拥有XSL来将Boost.TestXML日志转换为可显示的格式吗?)。有些人建议xUnit插件可以原生理解boost.test XML格式,另一些人则认为它不能 因为