Почему я получаю исключение MissingMethodException для get_ConsoleOut() в 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 ответ

Вероятно, проблема связана с несоответствием версий между приложением MSpec и MSpec.dll, на которое ссылается ваш проект. 0.5.16 (точно не помню) добавлена ​​поддержка захвата вывода консоли, и ошибка связана с тем, что ваш MSpec.dll еще не имеет такой поддержки. Можете ли вы удостовериться, что все версии совпадают, и повторите тесты?

Другие вопросы по тегам