2015-11-25 13 views
5

In NUnit 3, hanno sostituito l'attributo "TestFixtureSetUp" con "OneTimeSetUp". Tuttavia, in effetti non sembra funzionare, a meno che non sia un completo idiota.NUnit 3: OneTimeSetUp non attiva

Questo è il mio codice qui sotto:

[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); 
    } 
} 

Il test avrà inizio, ma non è mai va in Init(), e così _diskService è nullo. Sto facendo qualcosa di sbagliato qui, o potrebbe essere un bug?

risposta

6

NUnit 3.0 non è supportato da Resharper. È necessario installare l'adattatore NUnit e utilizzare VS per eseguire i test. Questo mi ha aiutato. Maggiori dettagli potete trovare qui https://github.com/nunit/nunit/issues/1089

+0

Grazie amico. Non ero a conoscenza del fatto che l'attributo si basava su Resharper per funzionare. Per il momento lascerò gli attributi come 'TestFixtureSetUp', poiché si chiede se il nostro server di build sarà in grado di eseguire correttamente i test. – Tom