我想编写一个类库,它为我创建一个复杂的对象,但应该尽可能少地暴露。我希望它被包含到其他项目中,并且我只有一次调用这个库,例如返回一个内部创建的类的对象。我不想让其他人显式地创建这些对象,但我仍然想为这个类库创建一个测试项目。
例如:
var result = Manager.Instance.Create(definition)
这应该是对类库的唯一访问。
根据定义参数,它使用不同的子类来创建请求的实例并相应地设置其属性。因此,我想通过测试以某种方式确保整个创建过程运行良好。但是由于我也不想暴露结果对象的极少内部属性,因此我无法仅使用此公共访问方法进行测试,因为我没有任何要断言的属性。
我知道你不应该测试内部机制,这通常是糟糕的设计,我也正在阅读这篇文章,但是否有任何方法可以创建库和单元测试项目,然后可能会限制对此类的访问? 用包装纸什么的?