我使用Visual Studio 2013和MsTest进行单元测试,使用Rhino Mocks进行模拟对象。
有什么办法,我们可以模拟其他类对象
public class Organization
{
public DataSet GetUsers()
{
DataSet ds = new DataSet();
// Added some columns and rows here
// This class is interacting with the database. That's why I want to create
// mock of this class.
return ds;
}
}
我的主要课程如下
public class Users
{
public DataSet GetUsers(Organization org)
{
DataSet ds = org.GetUsers();
return ds;
}
}
我的测试方法如下
[TestMethod]
public void GetUsersTest()
{
DataSet ds = new DataSet();
//added some mock rows and columns to this dataset
var objOrg = MockRepository.GenerateMock<Organization>();
objOrg.Expect(x => x.GetUsers()).Return(ds);
Users obj = new Users();
DataSet dsResult = obj.GetUsers(objOrg);
}
它给了我错误。 有人可以帮我为上一节课的GetUsers方法编写单元测试吗?
答案 0 :(得分:0)
您的方法不是virtual
方法。使用RhinoMocks
模拟课程时,要覆盖的每个方法都必须是virtual
方法。
将您的方法更改为:
public virtual DataSet GetUsers()
{
DataSet ds = new DataSet();
// Added some columns and rows here
// This class is interacting with the database. That's why I want to create
// mock of this class.
return ds;
}