Почему я получаю исключение 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 еще не имеет такой поддержки. Можете ли вы удостовериться, что все версии совпадают, и повторите тесты?