NI Lab Windows CVI を使用せざるを得ないので、TDD で作業したいと思っています。ただし、その IDE のテストフレームワークは見つかりませんでした。既知の解決策はありますか?
2 に答える
1
NIの誰かと話したところです。
NI Lab View 用の単体テスト フレームワークがありますが、これはまったく別のものです。
現在、NI からの解決策はありません。過去にTestCompleteを使用して問題を解決した人もいました- 別のルートがCUnitを使用している可能性があります。
編集:
CVI で CUNIT を使用するのは非常に簡単ですが、それでも言語の壁に直面します。
#include "CUError.h"
#include "CUError.c"
#include "CUnit.h"
#include "MyMem.h"
#include "MyMem.c"
#include "TestDB.h"
#include "TestDB.c"
#include "TestRun.h"
#include "TestRun.c"
#include "Util.h"
#include "Util.c"
#include "Automated.h"
#include "Automated.c"
これらの include ステートメントを使用すると、次のコードを実行できるようになります。
static void testFail(void)
{
CU_ASSERT(0);
}
//Suite Definitions
static CU_TestInfo tests_GenList[] = {
{ "Should Fail", testFail },
CU_TEST_INFO_NULL,
};
static CU_SuiteInfo suites[] = {
{ "Generic List Suites", NULL, NULL, tests_GenList },
CU_SUITE_INFO_NULL,
};
void AddTests(void)
{
assert(NULL != CU_get_registry());
assert(!CU_is_test_running());
/* Register suites. */
if (CU_register_suites(suites) != CUE_SUCCESS) {
fprintf(stderr, "suite registration failed - %s\n",
CU_get_error_msg());
exit(EXIT_FAILURE);
}
}
int main (void)
{
CU_initialize_registry();
AddTests();
CU_set_output_filename("Result\\TestAutomated");
CU_list_tests_to_file();
CU_automated_run_tests();
CU_cleanup_registry();
return 0;
}
これらのファイルも Result ディレクトリにコピーします。
CUnit-List.dtd
CUnit-List.xsl
CUnit-Run.dtd
CUnit-Run.xsl
md2xml.pl
Memory-Dump.dtd
Memory-Dump.xsl
于 2010-12-15T14:55:56.627 に答える
1
ここでも CUnit を CMock ( ThrowTheStick ) と共に使用します。cvi を使用すると、Ruby スクリプトを自動化して、次のようなもので test_runner ビルダーを実行することもできます
"%RUBY_HOME%\bin\ruby.exe" "%UNITY_HOME%\auto\generate_test_runner.rb"
ビルド前のステップの Test_TestCycleFSM.c。ソースファイルを生成してからコンパイルするために、プロジェクトを 2 回コンパイルする必要がある場合があります。
結局のところ、CUnitは Cのテスト スイートのようです。
于 2012-12-04T09:27:18.283 に答える