2017-06-15 6 views
3

を実行しているから、テストを防ぎますテストは決して実行されません。 AutomMoqDataが正しくヒットしたが、テスト内のコードが実行されることはありませんし、すべてのものは、次のようなメッセージで警告なしを終了します。テストは、テストランナーの一覧には表示されませんAutoFixtureは、私は、NUnitのと部品番号でAutoFixtureを使用しようとすると、次のAutoMoqDataAttributeを使用してい

Test adapter sent back a result for an unknown test case. Ignoring result for 'Test(Mock<Sandbox.IUser>)' 

しかし、私は、パラメータを削除する場合:

[Test, AutoMoqData] 
public void Test() 
{ 
    // do stuff without user 
} 

すべてがうまく動作しますが、これは、渡されたパラメータなしのあまり有用である:)

私はここで何かが足りないのですか?

<package id="AutoFixture" version="3.50.2" targetFramework="net452" /> 
<package id="AutoFixture.AutoMoq" version="3.50.2" targetFramework="net452" /> 
<package id="AutoFixture.NUnit3" version="3.50.2" targetFramework="net452" /> 
<package id="Moq" version="4.5.3" targetFramework="net452" /> 
<package id="NUnit" version="3.7.1" targetFramework="net452" /> 

EDIT:MarkSeemannのアドバイス@続き 、私はfiled an issue on Githubここ

Nugetパッケージのバージョンのリストです。

+0

あなたはこれを読んでいますか?http://blog.ploeh.dk/2010/10/08/AutoDataTheorieswithAutoFixture/ – Nkosi

答えて

6

Visual StudioのテストランナーREPROは

これは、NUnitのVisual Studioのテストアダプタの問題のように見えます。私はNUnit3TestAdapterパッケージを私のreproソリューションに追加すると、問題を再現できます。

REPROクラス全体は次のようになりますように、私はまた、テストクラスは[TestFixture]属性を持っていることを前提としています:私は、Visual Studio 2015のテストランナーを使用して、すべてのテストを実行しようとすると

[TestFixture] 
public class Tests 
{ 
    [Test, AutoMoqData] 
    public void Test(Mock<IUser> user) 
    { 
     Assert.NotNull(user); 
    } 
} 

、テストが実行されることはありません、これは出力ウィンドウをテストするために出力されます。

------ Run test started ------ 
NUnit Adapter 3.7.0.0: Test execution started 
Running all tests in C:\Users\mark\Documents\Stack Overflow\44564377\44564377\bin\Debug\Ploeh.StackOverflow.Q44564377.dll 
NUnit3TestExecutor converted 1 of 1 NUnit test cases 
NUnit Adapter 3.7.0.0: Test execution complete 
Test adapter sent back a result for an unknown test case. Ignoring result for 'Test(Mock<Ploeh.StackOverflow.Q44564377.IUser:8e33>)'. 
========== Run test finished: 0 run (0:00:01,1763498) ========== 

TestDriven.Net

一方で、私は私を実行しようと、場合TestDriven.Netとtが、それはうまく動作します:

------ Test started: Assembly: Ploeh.StackOverflow.Q44564377.dll ------ 

1 passed, 0 failed, 0 skipped, took 0,79 seconds (NUnit 3.7.1). 

TestDriven.Netは、テストコードの小さな誤差が時々非常に寛容であるので、これは、それ自体に伝えることではないかもしれません。

NUnitの3コンソールランナー

TestDriven.Netはそれが受け入れるものにすぎリベラル場合もありますので、より良いテストはofficial NUnit 3 console runnerにしようとするだろう:

$ packages/NUnit.ConsoleRunner.3.6.1/tools/nunit3-console.exe 44564377/bin/Debug/Ploeh.StackOverflow.Q44564377.dll 
NUnit Console Runner 3.6.1 
Copyright (C) 2017 Charlie Poole 

Runtime Environment 
    OS Version: Microsoft Windows NT 10.0.15063.0 
    CLR Version: 4.0.30319.42000 

Test Files 
    44564377/bin/Debug/Ploeh.StackOverflow.Q44564377.dll 


Run Settings 
    DisposeRunners: True 
    WorkDirectory: C:\Users\mark\Documents\Stack Overflow\44564377 
    ImageRuntimeVersion: 4.0.30319 
    ImageTargetFrameworkName: .NETFramework,Version=v4.6.1 
    ImageRequiresX86: False 
    ImageRequiresDefaultAppDomainAssemblyResolver: False 
    NumberOfTestWorkers: 4 

Test Run Summary 
    Overall result: Passed 
    Test Count: 1, Passed: 1, Failed: 0, Warnings: 0, Inconclusive: 0, Skipped: 0 
    Start time: 2017-06-15 11:09:21Z 
    End time: 2017-06-15 11:09:22Z 
    Duration: 0.933 seconds 

Results (nunit3) saved as TestResult.xml 

これは、あまりにも、正常に実行されますテスト。公式のコンソールランナーとTestDriven.Netの両方が正常にテストを実行しているので

暫定結論

、私は暫定的に、これはNUnit3TestAdapterパッケージ内の欠陥のように見えると結論だろう。問題を提起することを提案してもいいですか?

+0

ありがとう、あなたの答えはたくさんあります。私はすぐにそれをテストし、問題を提出します。 AutoMoqDataAttributesをMSTestsで使用することは可能でしょうか?私はそれについての情報を見つけることができませんでした。ありがとう! –

+0

@ X.L.Ant AFAIK、MSTestには拡張ポイントはありません。これが最近変更されていない限り、あなたの質問に対する答えは_no_です。 –

+0

私はそんなことを疑っていた。どうもありがとう。 –

関連する問題