NUnit TestFixture запускается только при запуске dotnet cli класса BaseTestC#

Место общения программистов C#
Ответить
Anonymous
 NUnit TestFixture запускается только при запуске dotnet cli класса BaseTest

Сообщение Anonymous »

Мои тестовые классы:
BaseTest.cs:

Код: Выделить всё

using AutoMapper;
using Microsoft.Extensions.Configuration;
using Moq;
using NUnit.Framework;

[TestFixture]
public abstract class BaseTest
{
protected Mock PatientRepositoryMock = new();

protected IConfiguration Configuration = null!;
protected PasswordService PasswordService = null!;
protected Mock CurrentUserMock = new();
protected Mock UserRepositoryMock = new();
protected Mock MapperMock = new();
protected Mock PackageRepositoryMock = new();

[SetUp]
public void Setup()
{
CurrentUserMock = new Mock();
PackageRepositoryMock = new Mock();
MapperMock = new Mock();
}

[OneTimeSetUp]
public void OneTimeSetup()
{
PasswordService = new PasswordService();
Configuration = ConfigurationsBuilder.Build();
}
}
CreatePackageTests.cs

Код: Выделить всё

using Moq;
using NUnit.Framework;

public class CreatePackageTests : PackageTestsBase
{
[Test]
public void CreatePackage_DuplicateName_BadRequestException()
{
// Arrange
var createPackageDto = new CreatePackageRequest
{
Name = "Basic Package"
};

PackageRepositoryMock.Setup(r => r.SaveChangesWithNameValidationAsync()).Throws(() =>
throw new BadRequestException("Package with the same name already exists"));
// Act & Assert
var exception = Assert.ThrowsAsync(() => PackageService.CreateAsync(createPackageDto));
Assert.That(exception?.Message, Is.EqualTo("Package with the same name already exists"));
}
}
Вот результат теста dotnet:

Код: Выделить всё

No test is available in {mydirectory}Application.UnitTests.dll. Make sure that test discoverer & executors are registered and platform & framework version settings are appropriate and try again.
Я использую одну и ту же сеть dotnet в Rider и в терминале:
rider:
Изображение

терминал:
Изображение

Я провожу тест с помощью Rider, и Rider запускает все тесты. Но когда я запускаю из dotnet cli, dotnet cli не находит мои CreatePackageTests, я думаю, потому, что я не добавил атрибут TestFixture в CreatePackageTests.
Вопрос: есть ли способ запустить все тесты с помощью dotnet cli?

Подробнее здесь: https://stackoverflow.com/questions/790 ... et-cli-run
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»