【发布时间】:2017-05-16 14:24:44
【问题描述】:
我有一些我想模拟的类,它只有一个内部期望一些参数。为此,我将InternalsVisibleTo-attribute 添加到我的测试系统并编写了以下代码:
var target = Substitute.For<MyClass>(testArgs);
MyClass 在哪里:
public class MyClass
{
internal MyClass(int i) { ... }
}
调试时我得到一个NotSupporetedException,因为我没有默认构造函数。但是,由于我有一个内部的(由于InternalsVisibleTo 而对我的测试程序集可见),我希望可以使用那个。
当然,我可以将构造函数公开,但这将允许我的 API 的任何用户创建我想避免的 MyClass 实例。为了让它发挥作用,我有什么遗漏吗?
【问题讨论】:
标签: c# unit-testing mocking internal nsubstitute