2016-04-22 6 views
-1

mz testに問題があります.Class1'に 'Function'の定義がなく、 'Class1'の最初の引数を受け入れる 'Function' 'が見つかりました(使用している指示やアセンブリ参照がありますか?)ClassTestProject2c#tests Class1 'に' Function 'の定義が含まれていません

と私はテストライブラリにクラスClass1への参照を追加しています、オブジェクトもここで私のコードは私のC#私はおそらくdidbe何か私はsobebodzはいくつかのアイデアを持っている必要がありますか?ありがとう:)

テスト:

using System; 
using Microsoft.VisualStudio.TestTools.UnitTesting; 
using ClassLibrary1; 

namespace ClassTestProject2 
{ 
    [TestClass] 
    public class UnitTest1 
    { 
     [TestMethod] 
     public void TestMethodPlus() 
     { 
      double number1 = 9.0; 
      double number2 = 1.0; 
      string op = "plus"; 
      double expected = 9.0; 
      Class1 count = new Class1(); 
      double actual = count.Function(number1, number2, op); 
      Assert.AreEqual(expected, actual); 
     } 
    } 
} 

ここに私のクラスである:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace ClassLibrary1 
{ 
    public class Class1 
    { 
     public static double Function(double num1, double num2, string op) 
     { 
     double finRes = 0; 
     if (op == "plus") 
     { 
      finRes = num1 + num2; 
     } 
     else if (op == "minus") 
     { 
      finRes = num1 - num2; 
     } 
     else if (op == "multiple") 
     { 
      finRes = num1 * num2; 
     } 
     else if (op == "divide") 
     { 
      finRes = num1/num2; 
     } 
     else if (op == "exp") 
     { 
      finRes = Math.Pow(num1, num2); 
     } 
     else if (op == "fac") 
     { 
      double result = num1; 
      for (double i = (num1) - 1; i > 0; i--) 
      { 
       result = result * i; 
       finRes = result; 
      } 
     } 
     else if (op == "sqrt") 
     { 
      finRes = Math.Sqrt(num1); 
     } 
     return finRes; 
    } 
} 
} 
+3

機能は静的です。インスタンス化されたクラスで呼び出すことはありません。Class1.Function(...) – oppassum

+1

で呼び出すと、 '1.0 + 9.0!= 9.0' –

答えて

3

あなたはそれが唯一の(Class1.Function」として参照することができることを意味し、Functionとして静的に宣言... ) `ではなく、Class1のインスタンスからではありません。

+0

となります。どうすればいいですか? – krakra

+0

この場合、おそらく 'count'変数を削除し、' Class1.Function(...) 'だけを使用してください。インスタンスが状態(例えばローカル変数)および/またはそれに依存する挙動を有する場合にのみ、インスタンスを作成することが有用になる。 –

+0

私は起訴をしましたが、それでも「Class1」には「機能」の定義が含まれていません – krakra

関連する問題