我在测试不同的API端点时遇到问题。我正在测试的端点依赖于第二个API。因此,我正在测试的端点依赖于需要运行的其他服务。当我在Visual Studio中按“运行所有测试”时,测试所依赖的服务将停止运行。
我尝试运行端点依赖的服务,并运行“运行选定的测试”。似乎可行。
这是我正在努力进行的以下测试:
[Theory]
[MemberData(nameof(TestDataGenerator.GetCreateAnswerCommandsFromDataGenerator),
MemberType = typeof(TestDataGenerator))]
public async void CreateNewAnswer_ReturnsBadRequest(CreateAnswerCommand a,
CreateAnswerCommand b,
CreateAnswerCommand c )
{
Assert.True(await IsBadRequest(a));
Assert.True(await IsBadRequest(b));
Assert.True(await IsBadRequest(c));
}
public class CreateAnswerCommandValidator : AbstractValidator<CreateAnswerCommand>
{
private readonly IUserServiceClient _client;
public CreateAnswerCommandValidator(IUserServiceClient client)
{
_client = client;
RuleFor(x => x.TextTranslated).NotEmpty().NotNull();
RuleFor(x => x.RequestId).NotEmpty().NotNull();
RuleFor(x => x.UserId).MustAsync(IdExists).WithMessage("ID must be registered");
}
private async Task<bool> IdExists(Guid arg1, CancellationToken arg2)
{
bool exists = await _client.CheckUserId(arg1);
return exists;
}
CreateNewAnswerCommand
有一个MustAsyns
到FluentValidation
的电话,它呼叫我的UserService
并检查UserId
是否存在。
我希望两个测试项目开始旋转,然后在按“运行所有测试”时关闭。
答案 0 :(得分:0)
如果在同一解决方案中有两个项目,请右键单击第一个项目,然后选择“调试”,然后启动新实例。最后,将测试运行到另一个项目中