之前我创建了许多MSpec类,但是在我最近创建的文件中运行单元测试会产生以下错误。有没有人用他们的单元测试遇到过这个?
System.MissingMethodException:找不到方法:'System.String Machine.Specifications.Result.get_ConsoleOut()'。
以下是代码:
[Subject(typeof(UsersDao))]
public class query_for_a_specific_user
{
private static Context context1;
private static Filter queryFilter;
private static List<User> users;
Establish context = () =>
{
context1 = new Context() { DatabaseId = 1 };
queryFilter = new Filter() { UserId = 1223 };
};
Because of = () => { users = UsersDao.GetUsers(context1, queryFilter); };
It should_not_be_null = () => users.ShouldNotBeNull();
It should_not_be_empty = () => users.ShouldNotBeEmpty();
}
答案 0 :(得分:1)
问题可能是MSpec运行程序与项目引用的MSpec.dll之间的版本不匹配。 0.5.16(不记得确切)添加了对捕获控制台输出的支持,并且错误源于您的MSpec.dll尚不具备该支持的事实。您能否确保所有版本都匹配重新运行测试?