上一结的测试中,GetPersons_AddFewPersons()没有输出详细的信息,如果有错误我们也不知道是哪里的问题,可以通过注入ITestOutputHelper输出相关信息,用法类似Console.WriteLine()在控制台的输出。
示例
PersonsServiceTest.cs中注入ITestOutputHelper
//private fields
private readonly IPersonsService _personService;
private readonly ICountriesService _countriesService;
private readonly ITestOutputHelper _testOutputHelper;
//constructor
public PersonsServiceTest(ITestOutputHelper testOutputHelper)
{
_personService = new PersonsService();
_countriesService = new CountriesService();
_testOutputHelper = testOutputHelper;
}
PersonsServiceTest.cs中添加输出代码
//print personResponsesAdd
_testOutputHelper.WriteLine("Expected:");
foreach (PersonResponse item in personResponsesAdd)
{
_testOutputHelper.WriteLine(item.ToString());
}
//Act
List<PersonResponse> personResponsesGet = _personService.GetAllPersons();
//print personResponsesGet
_testOutputHelper.WriteLine("Actual:");
foreach (PersonResponse item in personResponsesGet)
{
_testOutputHelper.WriteLine(item.ToString());
}
默认的ToString()方法只输出到类名,所以需要重写PersonResponse.cs类的ToString()方法
public override string ToString()
{
return $"Person Id: {PersonId}, PersonName: {PersonName}," +
$"Email: {Email}, Date of Birth: {DateOfBirth?.ToString("dd MMM yyyy")}, " +
$"Gender: {Gender}, Country Id: {CountryId}, Country: {Country}," +
$"Address: {Address}, Receive News Letters: {ReceiveNewsLetters}";
}
Test Explorer测试结果如下:
Gitee获取源码: