Я новачок у XUnit та Moq. У мене є метод, який приймає рядок як аргумент. Як обробити виняток за допомогою XUnit.
[Fact]
public void ProfileRepository_GetSettingsForUserIDWithInvalidArguments_ThrowsArgumentException() {
//arrange
ProfileRepository profiles = new ProfileRepository();
//act
var result = profiles.GetSettingsForUserID("");
//assert
//The below statement is not working as expected.
Assert.Throws<ArgumentException>(() => profiles.GetSettingsForUserID(""));
}
Метод, що перевіряється
public IEnumerable<Setting> GetSettingsForUserID(string userid)
{
if (string.IsNullOrWhiteSpace(userid)) throw new ArgumentException("User Id Cannot be null");
var s = profiles.Where(e => e.UserID == userid).SelectMany(e => e.Settings);
return s;
}
GetSettingsForUserID("")
перш ніж почати телефонувати Assert.Throws
. Assert.Throws
Виклик не може допомогти. Я б запропонував бути менш жорстким щодо AAA ...