【问题标题】:What are unit tests and such?什么是单元测试等?
【发布时间】:2011-10-16 03:44:34
【问题描述】:

我注意到了在 Visual Studio 2010 和 Netbeans 7 中进行测试的功能,并且想知道它们究竟做了什么。使用它们会比设计我自己的测试更有效吗?

【问题讨论】:

  • 您是否正在寻找关于什么是单元测试的一般解释(如当前答案所提供的那样)或这些特定测试创建功能的文档/描述? (或两者兼而有之?)

标签: c++ visual-studio unit-testing testing netbeans


【解决方案1】:

单元测试(与集成测试相反)是测试单个单元(通常是类)功能的测试(通常实际上是多个测试碰巧存在于同一个类和文件中)。

相比之下,集成测试测试多个不同单元的交互。端到端测试是一种特殊类型的集成测试,它测试整个软件堆栈,从 UI 到下面的所有内容。

可以进行两种不同类型的测试:“玻璃盒”和“黑盒​​”。 “黑盒”测试与实现无关;它仅基于函数/类的记录行为编写,并确保任何任意实现都遵循记录的行为。它还可能包括对各种理论实现可能产生的潜在错误的测试,但在不考虑实际实现的情况下进行。相比之下,“玻璃盒”测试是一种利用实现知识并确保实现中的每个代码路径都经过测试的测试。一个好的测试是同时包含全面的黑盒测试和玻璃盒测试。

有许多不同的免费可用的库可以轻松创建单元测试。我强烈建议您使用googletestgmock(两者都在Google 广泛使用)进行测试。

【讨论】:

    【解决方案2】:

    单元测试涉及测试独立于它们通常关联的上下文的单个类或函数。这可以通过消除在找出代码导致错误的确切原因时所涉及的一些猜谜游戏来减少故障排除时间。对于包含大量代码或涉及很多人的大型企业级项目,单元测试通常值得花费时间和精力。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-07
      • 2010-11-21
      • 1970-01-01
      • 2011-12-31
      相关资源
      最近更新 更多