这是我要测试的主要课程。它包含一个私有方法。
Public class MyClass
{
private bool IsWorkDone(MyItem item, string name)
{
using (MyThing thingObj = new MyThing(item.ID))
{
using (MyWork workObj = thingObj.Open())
{
try
{
return false;
}
}
}
return true;
}
}
在我的测试课中,我写了以下方法
public void CheckIsWorkDoneTest()
{
using (ShimsContext.Create())
{
MyItem myitem = new ShimMyItem () {
itemGet = () => new ShimMyItem ()
{
IDGet = () => new Guid();
}
};
ShimMyClass.AllInstances.isWorkDoneItemString = (MyClass, MyItem, MyName) => "Here I'm stuck. I need help from stackoverflow users"
PrivateObject objMyClass = new PrivateObject(typeof(MyClass));
object[] parameters = new object[2] { myItem, workName };
bool result = Convert.ToBoolean(objMyClass.Invoke("IsWorkDone", parameters));
Assert.AreEqual(result,true);
}
我想从statement =>设置oSite对象的值"使用(MyThing thingObj = new MyThing(item.ID))"来自我的主要MyClass类。 调试此行时抛出Object引用未设置为实例错误。
所以使用ShimMyClass.Allinstance如何获取或设置它的值?
答案 0 :(得分:0)
你有很多不一致的地方,所以你的问题可能就是把它们搞得一团糟。如果您的实际代码更加一致,请更新您的帖子。主要的事情
我调整了你的骨架,并在调整了一些名字之后让我去工作。