相关疑难解决方法(0)

如何测试内部类库?

我想写一个类库,它为我创建一个复杂的对象,但应该尽可能少地暴露.我希望它被包含到其他项目中,我只有一个调用这个库,例如返回一个内部创建的类的对象.我不想让其他人明确地创建这些对象,但我仍然想为这个类库创建一个测试项目.

例如:

var result = Manager.Instance.Create(definition)
Run Code Online (Sandbox Code Playgroud)

这应该是对类库的唯一访问.

基于definition参数,它使用不同的子类来创建请求的实例并相应地设置其属性.因此,我想通过测试以某种方式确保整个创建过程运行良好.但是因为我也不想暴露结果对象的非常少的内部属性,所以我不能仅使用这种公共访问方法进行测试,因为我没有任何属性可以断言.

我知道你不应该测试内部机制,它通常是糟糕的设计,我也正在阅读这篇文章,但是没有任何方法可以创建一个库加单元测试项目,也许之后限制访问这个类?用包装纸什么的?

c# unit-testing internal wrapper

56
推荐指数
2
解决办法
3万
查看次数

内部类和方法应该如何测试?

可能重复:
测试内部类

我喜欢将我的测试类放在一个单独的程序集中,这会导致测试内部类的一些问题.由于内部类和方法只在程序集内部可见,因此我的测试程序集无法看到这些类和方法.测试这些类的最有效方法是什么?我是否需要使用反射来访问我不想测试的方法?

.net c# unit-testing

3
推荐指数
1
解决办法
245
查看次数

在哪里放入InternalsVisibleTo

与此问题相关的是,AssemblyInfo的生成如何工作?

我一直在放入InternalsVisibleTo程序集的第一类文件,我意识到它会很有用.使用其他程序集属性在AssemblyInfo中似乎更合适,但我不希望它被无意中覆盖.

那么,它应该去哪里?

c# assemblies visual-studio

2
推荐指数
3
解决办法
1437
查看次数

标签 统计

c# ×3

unit-testing ×2

.net ×1

assemblies ×1

internal ×1

visual-studio ×1

wrapper ×1