2017-04-04 22 views
0

私はC#の新しいJava開発者です。この些細なことをやっているようです。私は別のクラスのメソッドをテストするテストクラスを持っています。便宜上、私はこれらの静的なインスタンス化に依存しないようにしました。しかし何らかの理由で、私のTestsクラスは私のKataクラスを見つけられないようです。C#静的メソッドを呼び出す

namespace Codewars 
{ 
    public class Program 
    { 
    static void Main(string[] args) 
    { 
    } 

    public static string HoopCount(int n) 
    { 
     if (n >= 10) 
     { 
      return "Great, now move on to tricks"; 
     } 
     else 
     { 
      return "Keep at it until you get it"; 
     } 
    } 
    } 
} 

テスト:

using NUnit.Framework; 

namespace Codewars 
{ 
    [TestFixture] 
    class Tests 
    { 
     [Test] 
     public static void FixedTest() 
     { 
      Assert.AreEqual("Keep at it until you get it", Kata.HoopCount(6), "Should work for 6"); 
      Assert.AreEqual("Great, now move on to tricks", Kata.HoopCount(22), "Should work for 22"); 
     } 
    } 
} 
+3

としてそれを参照する必要がありますプログラムではなく、カタ。 Program.HoopCountを使用する必要があります。 FixedTestメソッドを静的にする理由もありません。 –

+0

ああ、それは私のばかです!私は名前を変更したツールを使っていましたが、自動的にすべての名前を変更してはいけませんか? – snutte

+1

あなたが正しいことをしない限り、それはすべきです。たぶんあなたは名前の変更を確認せず、クラスの名前を変更してエディタでクリックしただけです(ちょっと推測すると) –

答えて

2

あなたの静的メソッドは、あなたがKata.HoopCountを呼び出しているが、あなたのクラスは命名されたプログラムではなく、カタの中で宣言されたので、あなたはProgram.HoopCount(someint)

関連する問題