2017-12-10 12 views
-3

addInventory()の単体テストを作成します。パラメータsweaterShipmentを指定してredSweater.addInventory()を呼び出します。後続の数量が正しくない場合は、表示されているエラーを印刷します。最初の数量が10であり、sweaterShipmentが50: の初期テストで、失敗した単体テストのサンプル出力。 ユニットテストが失敗しました:addInventory() テストが完了しました。 注:UNIT TEST FAILEDの前に3つのスペースがあります。ユニットテストを設定業界でクラスによるユニットテスト


#include <iostream> 
using namespace std; 

class InventoryTag { 
public: 
    InventoryTag(); 
    int getQuantityRemaining() const; 
    void addInventory(int numItems); 

private: 
    int quantityRemaining; 
}; 

InventoryTag::InventoryTag() { 
    quantityRemaining = 0; 
} 

int InventoryTag::getQuantityRemaining() const { 
    return quantityRemaining; 
} 

void InventoryTag::addInventory(int numItems) { 
    if (numItems > 10) { 
     quantityRemaining = quantityRemaining + numItems; 
    } 
} 

int main() { 
    InventoryTag redSweater; 
    int sweaterShipment = 0; 
    int sweaterInventoryBefore = 0; 

    sweaterInventoryBefore = redSweater.getQuantityRemaining(); 
    sweaterShipment = 25; 

    cout << "Beginning tests." << endl; 

    // FIXME add unit test for addInventory 




    cout << "Tests complete." << endl; 

    return 0; 
} 
+0

私はこの質問のaddInventoryの単体テストを書く方法がわかりません。どんな助けでも大歓迎です! – FableChief

+0

あなたはこの部分を理解していますか?* "sweaterShipmentパラメータでredSweater.addInventory()を呼び出してください。" – Galik

答えて

0

典型的には単位テストフレームワーク、例えばGoogle Testのいくつかの種類を使用して行われます。 Visual Studioを使用している場合は、VS hereでユニットテストの基本をチェックアウトすることができます。

あなたの質問の始めは、学校のプロジェクトなどのように読まれます。それが当てはまる場合、おそらくそれらのオプションのいずれかを望んでいないでしょう。

0

他のライブラリを含めることはできますか?

個人的には、私はcassertライブラリを使ってユニットテストを書いています。

assert(1+1==2) 

これが真でない場合は、エラーが発生します。

関連する問題