2016-12-23 10 views
0

Cpputest.orgのページには、文法:mock().expectNoCall("productionCode")が書かれています。しかし、コンパイラはと言っていますが、mocksupportクラスはこのタイプの注文をサポートしていません。Cpputest:expectNoCallをコンパイルして使用するには?

test_RFID_Drv.c:322:9: error: ‘class MockSupport’ has no member named ‘expectNoCall’mock().expectNoCall("HAL_AS393x_ReadRegisters"); 

どのように使用できますか?ヘッダーにいくつかのファイルを含める必要がありますか? は現在、私はあざけるためにそれらのものを持っている:

/*! \include <CppUTest/CommandLineTestRunner.h> */ 
#include <CppUTest/CommandLineTestRunner.h> 
/*! \include <CppUTest/TestHarness.h> */ 
#include <CppUTest/TestHarness.h> 
/*! \include <CppUTestExt/MockSupport.h> */ 
#include <CppUTestExt/MockSupport.h> 

事は、私が1つのconcretシステムコールを無視するということです。私はそれをテストしたくない。

+0

どこから文書を読んでいますか?私は 'mock()。expectedNCalls(5、" productionCode ");と' 'mock()。ignoreOtherCalls();'を見ることはできますが、 '' expectNoCall''は見ることはできません。最後の段落の – doctorlove

+0

https://cpputest.github.io/mocking_manual.htmlタイトルをつけて:「その他」をクリックし、少し説明します(1行または2つのaprox)。 –

+0

おそらくexpectNoCallはこれに対して行われません。しかし、私は同じケーステストの下で呼びたい他のコールを無視したいと思います。 ignoreothercallsを使用すると、これに続くコールの残りが呼び出されるかどうかはわかりません。私は残りのコールが無視された後に呼び出される必要があります。または、少なくとも、テストケースの終わりの前にignoreothercallsの効果を止める方法を見つけること。 –

答えて

1

Eugenia、 '.c'ファイルにあります。mock().expectXXは '.cpp'ファイルの構文です。

Thisは、.cppファイルでの期待のない実例です。

.cファイルからモックを使用する必要がある場合は、「MockSupport_c.h」を含め、正しいc構文を使用していることを確認してください。hereというヘッダーを読んでください。

"_c"ヘッダーの構文を使用しない場合は、モックファイルを.cppにしてhereのように、export "C"リンカー修飾子をモックされた関数に追加します。

+0

私のテストファイルは.cで、嫌いな唯一の命令はexpectNocallでした。 Mockの残りの部分()は、巧みに動作します。 –

関連する問題