gpt4 book ai didi

c# - 如何在 .net 标准测试项目中测试 PrivateObject?

转载 作者:行者123 更新时间:2023-11-30 17:33:07 25 4
gpt4 key购买 nike

我正在学习本教程,https://learn.microsoft.com/en-us/dotnet/core/testing/unit-testing-with-mstest

但我没有可用的 PrivateObject 类型,所以我想知道是否可以使用 .net 标准 2.0 项目测试私有(private)对象。

最佳答案

你总是可以使用反射

ClassToTest obj = new ClassToTest();
Type t = typeof(ClassToTest);

FieldInfo f = t.GetField("field", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public);
f.SetValue(obj, "Don't panic");

t.InvokeMember("PrintField",
BindingFlags.InvokeMethod | BindingFlags.NonPublic |
BindingFlags.Public | BindingFlags.Instance,
null, obj, null);

你应该为此编写一个辅助类,否则你的测试将包含很多相同的代码

附言代码示例来自 here

关于c# - 如何在 .net 标准测试项目中测试 PrivateObject?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44673817/

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