2016-05-31 8 views
3

Ich mag die Option, Tests mit Attributen zu definieren. Ich muss jedoch etwas falsch machen. Ich habe die Pakete installiert:Attribut definierte Testdaten mit Nunit, AutoFixture, NSubstitute und AutoSubstituteDataAttribute

<packages> 
    <package id="AutoFixture" version="3.46.0" targetFramework="net451" /> 
    <package id="AutoFixture.AutoNSubstitute" version="3.46.0" targetFramework="net451" /> 
    <package id="AutoFixture.NUnit3" version="3.46.0" targetFramework="net451" /> 
    <package id="NSubstitute" version="1.10.0.0" targetFramework="net451" /> 
    <package id="NUnit" version="3.2.1" targetFramework="net451" /> 
</packages> 

Einzel substituierte Parameter durchlaufen:

[Theory, AutoSubstituteData] 
public void Test_Single([Substitute] Service svc) 
{ 
    // executed, shown as success 
} 

Während Substitution Mischen und einige andere Werte fehlschlägt:

[Theory, AutoSubstituteData] 
public void Test_Mixed(int version, string name, [Substitute] IService svc) 
{ 
    // not executed, shown as inconclusive 
} 

Das Attribut:

public class AutoSubstituteDataAttribute : Ploeh.AutoFixture.NUnit3.AutoDataAttribute 
{ 
    public AutoSubstituteDataAttribute() 
     : base(new Fixture().Customize(new AutoConfiguredNSubstituteCustomization())) 
    { 
    } 
} 

Der Testausgang sagt:

NUnit Adapter 3.0.10.0: Testausführung abgeschlossen

Prüfadapter ein Ergebnis für einen unbekannten Testfall zurückgeschickt. Ergebnis ignorieren für 'Test_Mixed (150, "name04f0cd50-e89f-4a8f-db6-dab69b58e98e", Castle.Proxies.IServiceProxy)'.

Wie bekomme ich dies in VS2015 oder allgemein mit NUnit 3x zu arbeiten?

+0

Ist es möglich, dass Sie xUnit [v2] verwenden? Du wirst Sachen finden, die ziemlich genau funktionieren (und/oder allgemeine Nachrichten können gegoogelt werden usw.) –

+0

@RubenBartelink, Ich habe xunit jetzt einschließlich xunit.runner.visualstudio Version 2.1.0 installiert, VS neu gestartet, neu kompiliert. Die XUnit-Tests, die ich hinzugefügt habe, sind im Test Explorer nicht erschienen. Versucht, xunit.runners zu installieren, aber es sagt, es gibt keine Unterstützung für net451. Das hört sich nicht nach "nur funktioniert" an. Ich würde das lieber mit NUnit beheben, Version 3 ist ein ziemlich anständiges Testframework. – Rbjz

+0

Sorry, ich muss ruinieren, aber wenn du googelst, warum der xunit-Runner meine Tests nicht findet, gibt es Fehlerbehebungsfragen (eine ist meins) - Und Entschuldigung für Übertreibungen - ja, es kann immer noch Probleme geben. Aber eine Sache, die ich sagen kann, ist die Masse der Leute, die AF benutzen, mit Attributen, die xUnit benutzen. –

Antwort

1

(Von Kommentaren :)

Das sieht aus wie ein Problem mit dem NUnit 3 Visual Studio Test Adapter. Wenn ich diese Tests mit dem NUnit 3-Befehlszeilenprogramm ausführe, werden beide ausgeführt und übergeben.

Verwandte Themen