gpt4 book ai didi

c# - 如何测试内部类库?

转载 作者:IT王子 更新时间:2023-10-29 03:47:43 25 4
gpt4 key购买 nike

我想编写一个类库,为我创建一个复杂的对象,但应该尽可能少地公开。我希望它被包含到其他项目中,并且我只有一次调用这个库,例如返回一个内部创建类的对象。我不想让其他人显式地创建这些对象,但我仍然想为这个类库创建一个测试项目。

例如:

var result = Manager.Instance.Create(definition)

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

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

我知道你不应该测试内部机制,这通常是糟糕的设计,我也在通读 this article ,但是否有任何方法可以创建一个库加单元测试项目,然后可能会限制对此类的访问?用 wrapper 之类的?

最佳答案

在 .NET 中,您可以使用 InternalsVisibleToAttribute在您的类库中,使您的内部类型对您的单元测试项目可见。

这样,您可以将您的类保留在内部,并且仍然可以在您授予访问权限的其他程序集中使用它。

你可以这样使用它:

[assembly:InternalsVisibleTo("NameOfYourUnitTestProject")]

关于c# - 如何测试内部类库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15440935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com