2016-12-07 11 views
1

asp.net coreとxunitでサービスをテストしたいと思います。私はインスタンスを取得し、テストプロジェクトで私のサービスをテストすることができますどのようにxUnitとasp.netコアでサービスをテストしてください

public class MyService : IMyService 
{ 
    public int Add(int x, int y) 
    { 
     return x + y; 
    } 
} 

public interface IMyService 
{ 
    int Add(int x, int y); 
} 

は私がstartup.cs

services.AddTransient<IMyService, MyService>(); 

しかし、今の私のサービスを登録:

は、ここに私のサービスですか?私は私のテストプロジェクトにおけるこれまで

public class Class1 
{ 
    IMyService myService; 

    [Fact] 
    public void PassingTest() 
    { 
     Assert.Equal(4, myService.Add(2,2)); 
    } 
} 
+0

正確にテストしますか? – Nkosi

+0

私のMyServiceクラスのメソッド – Cieja

+0

インスタンスを新規に作成し、テスト中のメソッドを呼び出す – Nkosi

答えて

0

新しいインスタンスアップとテスト対象のメソッドを呼び出します。過度に複雑にする必要はありません。

public class Class1 { 

    IMyService myService = new MyService(); 

    [Fact] 
    public void PassingTest() 
    { 
     Assert.Equal(4, myService.Add(2,2)); 
    } 

} 
+0

次のエラーが発生しました: "未処理の例外:システム.IO.FileNotFoundException:ファイルまたはアセンブリ 'Microsoft.DotNet.InternalAbstractions、バージョン= 1.0.0.0、Culture = neutral、PublicKeyToken = adb9793829ddae60'を読み込めませんでした。指定されたファイルが見つかりません。 – Cieja

+0

'回避策:手動で依存関係をテストするためにMicrosoft.DotNet.InternalAbstractionsを追加する ' - https://github.com/dotnet/core/issues/366 – Nkosi

関連する問題