2015-11-25 3 views
5

В NUnit 3 они заменили атрибут «TestFixtureSetUp» на «OneTimeSetUp». Однако на самом деле это не работает, если я не буду полным идиотом.NUnit 3: OneTimeSetUp не срабатывает

Это мой код ниже:

[TestFixture] 
public class DiskServiceTests 
{ 
    private readonly Mock<IDriveInfoWrapper> _driveInfoWrapper = new Mock<IDriveInfoWrapper>(); 
    private IDiskService _diskService; 

    [OneTimeSetUp] 
    public void Init() 
    { 
     _diskService = new DiskService(_driveInfoWrapper.Object); 
    } 

    [Test] 
    public void GetDriveInfo_ShouldReturnDriveInfo() 
    { 
     // Act 
     var result = _diskService.GetDriveInfo(); 

     // Assert 
     Assert.IsNotNull(result); 
    } 
} 

Тест начнется, но он никогда не переходит в Init(), и так _diskService равна нулю. Я здесь что-то не так, или это может быть ошибка?

ответ

6

NUnit 3.0 не поддерживается Resharper. Вы должны установить адаптер NUnit и использовать VS для выполнения ваших тестов. Это помогло мне. Более подробную информацию вы можете найти здесь https://github.com/nunit/nunit/issues/1089

+0

Thanks mate. Я не знал, что атрибут опирался на Resharper для работы. На данный момент я оставлю атрибуты как 'TestFixtureSetUp', так как он задает вопрос, сможет ли наш сервер сборки правильно запускать тесты. – Tom

Смежные вопросы