Измените это:
using (var dataContext = new dataContext())
{
users = dataContext.Users.Where(x => x.AccountID == accountId && x.IsAdmin == false);
if(users.Any())
{
ret = users.Select(x => x.ToInfo()).ToList();
}
}
на это:
using (var dataContext = new dataContext())
{
return = dataContext.Users.Where(x => x.AccountID == accountId && x.IsAdmin == false).Select(x => x.ToInfo()).ToList();
}
Суть в том, что вы только хотите принудительно перечислить набор данных контекста один раз. Пусть вызывающий абонент имеет дело с пустым сценарием, как и должно быть.
Проверьте https://github.com/TestStack/White и http://nunitforms.sourceforge.net/. Мы использовали Белый проект с успехом.
Хотя они главным образом предназначены для автоматизации задач администрирования или ярлыков для пользователей, Автогорячая клавиша и AutoIT позволяют Вам автоматизировать почти что-либо, что Вы хотите до взаимодействия мыши/клавиатуры.
Часть материала мыши может стать хитрой, когда единственным способом действительно сказать его, что Вы хотите нажать, является X, Y координата, но для автоматизации совершенно произвольных задач на машине Windows, он добивается цели.
Как я сказал, они не обязательно предназначаются для тестирования, таким образом, они не оснащены для конвенций модульного теста. Однако я использую их все время для автоматизации материала, который не тестирует связанный.
Можно сделать это программно через Microsoft UI Automation API. Существует статья MSDN Magazine об этом.
Интегрируется хорошо с платформами модульного теста. Более оптимальный вариант, чем основанные на координате бегуны сценария, потому что Вы не должны переписывать сценарии, когда разметки изменяются.
Это - то, что я искал.
Проверьте http://www.codeplex.com/white и http://nunitforms.sourceforge.net/. Мы использовали Белый проект с успехом.
Там существует пара. Они все сцепляются в окна API, чтобы зарегистрировать щелчки объекта и затем воспроизвести их для тестирования.
Мы теперь главным образом веб-(использование WatiN), но мы раньше использовали Mercury Quicktest.
Не используйте Quicktest, это ужасно для чрезвычайно длинного списка причин.