unit-testing - 这是典型的单元测试经验吗?

标签 unit-testing nunit

我用 5 个公共(public)方法编写了一个 220 行的类。我有一个单元测试类,它在这个类上运行 28 个测试,占用超过 1200 行代码,但这主要是由于在设置测试时使用了重复的代码。此代码正在我的项目中测试 DAL,以确保它与数据库正确交互并且所涉及的存储过程正确运行。似乎我做了很多工作来测试很少的代码。我正在使用带有 Rhino 模拟的模拟,以避免在可能的情况下编写我自己的 stub 。

这是典型的单元测试经验吗?

最佳答案

以什么方式典型?

如果您的意思是您的单元测试代码比实际代码多,那么是的。但是你应该像对待你的“真实”代码一样对待你的单元测试代码,因为你应该删除重复并重构它,直到它尽可能精简/令人满意。

此外,如果您正在测试 DAL 以及与真实数据库的交互,那么您所拥有的就是集成测试。

编辑

我最近开始为常见的测试模式编写单元测试基类,那里有很多设置代码和辅助方法。我最近的单元测试基类是一个通用基类,它允许我非常轻松地测试 wcf-web-api 类。因此,我的实际测试类(class)非常精简且“切中要害”。 YMMV

关于unit-testing - 这是典型的单元测试经验吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9049536/

相关文章:

c# - 单元测试和检查私有(private)变量值

带有用户输入的 Python 3 单元测试

c++ - 对拍摄照片并将其保存到文件的 opencv c++ 程序进行单元测试

c# - nUnit Assert.Throws TestCase 属性

c# - 类型 'System.Int32' 的对象无法转换为类型 'System.Int32[]'

nunit - 运行 WatiN 测试时出现 InteropServices.COMException

asp.net - 来自 HtmlTextWriter 的测试输出

javascript - 诗农 spy 功能不起作用

python - 如何调试 Django 单元测试?

c# - 如何模拟没有接口(interface)的方法?