unit-testing - 如何测试单元框架?

标签 unit-testing

作为一个业余爱好项目,我正在开发一个小型 Bash 单元测试框架。现在基本功能已经实现,下一步就是为其编写测试。

但是如何使用框架本身来测试我的框架?

我尝试在 Google 上搜索此问题的答案,但未能找到有关此主题的任何信息。

到目前为止,我提出的想法是为一些琐碎的事情编写测试,利用测试框架本身的所有功能。如果测试都是绿色的,那就没问题了。这些基本测试也可以作为某种文档。

但我不知道这是否真的是一个好方法。

最佳答案

问题是测试测试是否会失败。单元测试应该都是“绿色”的。因此,选择一些无法证明其正确性的测试并不是一种选择。

我认为该解决方案将基于安静的技术。很难给出关于“对测试框架进行单元测试”的一般建议。哪些部分属于框架?读取包含单元测试的文件的部分、运行它们的部分、编写报告的部分、帮助器库,如断言,...?

您需要拆分这些部分并使其能够单独运行。那么它与任何其他测试都没有区别。

您可能找到了一种在单元测试中运行整个测试运行程序的方法。这不是单元测试本身,而是集成测试。这种测试可能会成为维护问题,因为它们通常非常复杂,使用文件系统和操作系统中的其他内容,这些内容不应该由单元测试使用。考虑一下这是否值得付出努力。

总有一部分是无法测试的。将所有内容组合在一起并在真实环境中运行应用程序(无论它是什么)的部分。这里没有区别。甚至更容易,因为一些“最终用户环境”可以通过“绿色”测试来测试。

关于unit-testing - 如何测试单元框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13399018/

相关文章:

swift - 延迟单元测试

c# - 单元测试 : Custom Timer Assert

xcode - Xcode 12 中新的多平台模板的共享单元测试

javascript - 在 stub 函数之后它仍然调用真正的函数

unit-testing - Junit - 测试 Hibernate 服务结果

python - 问题的运行 unittest 测试套件 OO

unit-testing - 对大型应用程序进行单元测试 - 经过验证的方法?

c# - 我可以让 Moq 为模拟类添加属性吗?

ios - 单元测试 iOS 应用程序扩展

c# - 模拟对象仍在调用服务