私の知る限り、ユニットテストは公開APIごとに個別に行う必要があります。単体テスト:単体テストのメソッドを別の方法で使用しているのですか?
class MyStorage {
private:
std::vector<int> int_vec_;
public:
bool insert_int(int value);
int get_value_at(int idx);
}
私はGooogleTestフレームワークを使用して、次のようにユニットテストを書いた:しかし、私は、次の例に示す独立して、各APIのユニットテストへの明確な方法を発見していないしている状況で経験されています:
int int_tenth(int x) { return x * 10; }
TEST_F(MyStorageTest, insert_int) {
for(int i = 0; i < 10; i++) {
int value = int_tenth(i);
bool ret = my_storage.insert_int(value);
ASSERT_TRUE(ret);
}
}
TEST_F(MyStorageTest, get_value_at) {
for(int i = 0; i < 10; i++) {
int value = int_tenth(i);
my_storage.insert_int(value);
}
for(int i = 0; i < 10; i++) {
int expected_value = int_tenth(i);
int value = my_storage.get_value_at(i);
ASSERT_EQ(expected_value, value);
}
}
私は正しくやっていますか?そうでない場合は、この例の単体テストをどうすればできますか?
はい。手伝ってくれてありがとう。否定的なテストに関して私はすでにそれを考慮した。私の現在の懸念は、単体テストを行う際にいくつかのAPIを呼び出すことです。 Upvoted :) –
ここに私の感謝を示す;他の場所でそれをやっている;-) – GhostCat