UnitTest ++를 단위 테스트 C++ 코드로 사용하고 있습니다.UnitTest ++에서 유틸리티 함수를 어떻게 사용할 수 있습니까
내 테스트에는 여러 번 반복되는 테스트 그룹이 있습니다. 내가 원하는 것은 이러한 테스트를 수행하는 유틸리티 함수입니다. 즉,이 걸릴 싶습니다
TEST(foo) {
Foo one;
Foo two;
// init one & two
// lots of CHECK_CLOSE(one.bar, two.bar, 1e-5); in repeating cycles
}
TEST(bar) {
Foo one;
Foo two;
// init one & two
// lots of CHECK_CLOSE(one.bar, two.bar, 1e-5); in repeating cycles
}
그리고 이것을 사용 :
void blah(const Foo& one, const Foo& two) {
// lots of CHECK_CLOSE(one.bar, two.bar, 1e-5);
}
TEST(foo) {
Foo one;
Foo two;
// init one & two
blah(one, two);
}
TEST(bar) {
Foo one;
Foo two;
// init one & two
blah(one, two);
}
이 작동하지 않습니다 인해 유닛 테스트 ++의 매크로 조작을. 이 문제에 접근하는 가장 좋은 방법은 무엇입니까?
편집 : 지금 당장은 확인할 수없는 몇 가지 생각.
- 나는
struct
에서 유틸리티 기능을 가진기구를 사용하는 경우, 나는이 함수 내에서 유닛 테스트 ++ 매크로를 호출 할 수 있습니까? - 일반적인 테스트를 수행하는 매크로를 작성할 수 있습니다. 나는 정말로 이것을 좋아하지 않지만, 적어도 나는 stary dry ...
예, 유틸리티 기능은 전달 된 매개 변수에 따라 다른 이유로 실패 할 수 있습니다. –
필자는 필자가 유틸리티 나 래퍼 기능의 가치가 줄어든 이유를 알 수 있습니다. 그 이유는 실패한 이유와 실제로 실행 된 테스트를 추적해야하기 때문입니다. 테스트를 하드 코딩하면 이런 일이 발생하지 않습니다 –
따라서 각 테스트 방법에서 여러 번 테스트를 반복하는 것이 좋습니다. Hmmph, UnitTest ++에서 상당히 제한적으로 보입니다. ++ –