2012-11-29 97 views
1

说我有这一块的功能,它曾经被很多重复。然后将它分解成一个静态类,现在从不同的地方被调用。 现在我想单元测试这块被调用的不同位置。单元测试重复使用代码,最佳实践寻求

假设因式分解件在功能上的声音(通过其特定的单元测试证明),我该如何确保调用代码很好的测试C.Q。这个因素被称为。

我正在寻找关于这个问题的最佳做法,因为它似乎发生了很多。

N.b.代码绝不是一成不变的;它不一定是静态的。

回答

2

如果你想验证助手方法是否正确调用,那么我会使这个助手类非静态,并实现一些接口IFooService。然后将此接口注入帮助类消费者。界面可以很容易地嘲弄,并且可以轻松验证接口成员调用的期望。也考虑使用helper类的单个实例(这很容易通过依赖注入框架来实现)。

如果你的帮助类有非常简单的方法(比如将实体映射到dto对象,创建货币值的字符串表示等),那么我会跳过辅助方法调用验证 - 你会通过行使SUT来看看是否有问题。你确认要像String.IsNullOrEmpty,或Int32.Parse电话?

+0

不,他们不是简单的帮助方法。他们在滥用数据库时抽象了一些CUD方法。 – fuaaark

+0

@fuaaark然后创建非静态类将是你最简单的方法 –

+0

听起来不错:-)我猜的单个实例可以使用Singleton模式,而不是安装另一个框架可以实现吗? – fuaaark