2016-08-28 3 views
1

を見ていない私は私のCalculatorAppのためのユニットテストプロジェクトを作成し、私のコードは次のようになり、私のUniTestプロジェクトユニットテストは私の方法

のための基準としてのアプリを追加しました:

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


    namespace CalculatorUnitTests 
    { 
     [TestClass] 
     public class UnitTest1 
     { 
      [TestMethod] 
      public void TestAddMethod() 
      { 
       decimal firstTestNumber = 7; 
       decimal secondTestNumber = 3; 
       decimal resultTest = 10; 


       Assert.AreEqual(resultTest, AddMethod(firstTestNumber, secondTestNumber)); 

      } 
    } 

しかし、 AddMethodは現在のコンテキストに存在しないと言います。

私には何が欠けていますか? (私はunitTestsで多くの経験がありません) 私はVisual Studio Community 2015を使用しています。

+3

同じ理由から、任意の場所から 'AddMethod'を呼び出すことはできません。周囲のオブジェクトへの参照が必要で、適切なメソッド呼び出しのように呼び出す必要があります。 –

+0

あなたは 'CalculatorApp'インスタンスを作成したことがありません。私はなぜあなたが 'AddMethod(firstTestNumber、secondTestNumber)'がうまくいくと思ったのか分かりません。 –

答えて

2

Jeroenはすでに述べたように、テストする電卓クラスのインスタンスが必要です。

[TestMethod] 
public void TestAddMethod() 
{ 
    decimal firstTestNumber = 7; 
    decimal secondTestNumber = 3; 
    decimal expected = 10; 

    // create an instance of your system under test (sut) 
    var sut = new CalculatorApp.Calculator(); 

    // invoke the method, you want to test and keep the actual result 
    var actual = sut.AddMethod(firstTestNumber, secondTestNumber) 

    Assert.AreEqual(expected, actual); 
} 
関連する問題