据我所知,Visual Studio 2012 不支持私有访问器。你能给我一些关于可能的替代方案的信息吗?PrivateObject.Invoke() 对我来说不是最好的解决方案。
先感谢您!
据我所知,Visual Studio 2012 不支持私有访问器。你能给我一些关于可能的替代方案的信息吗?PrivateObject.Invoke() 对我来说不是最好的解决方案。
先感谢您!
将您的成员标记为“内部”并使用 InternalsVisibleTo 属性。使用简单,没有类型安全问题。
我开始使用动态私有访问器功能,它是 nuget 包Chaining Assertion for MSTest 的一部分,我对此非常满意。一个失去强类型,但至少语法仍然可读。这适用于动态功能。还有其他测试框架的包。测试代码如下所示:
var target = CreateMyObjectUnderTest();
dynamic dynamicTarget = target.AsDynamic();
Assert.AreEqual("abc", dynamicTarget.MyPrivateProperty);
Assert.AreEqual("xyz", dynamicTarget.PrivateMethod(123));