为什么我在MSpec中获取get_ConsoleOut()的MissingMethodException?

时间:2013-11-12 21:55:23

标签: c# unit-testing mspec

之前我创建了许多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();
}

1 个答案:

答案 0 :(得分:1)

问题可能是MSpec运行程序与项目引用的MSpec.dll之间的版本不匹配。 0.5.16(不记得确切)添加了对捕获控制台输出的支持,并且错误源于您的MSpec.dll尚不具备该支持的事实。您能否确保所有版本都匹配重新运行测试?