首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何启动cppunit测试?

如何启动cppunit测试?
EN

Stack Overflow用户
提问于 2014-03-06 07:45:51
回答 1查看 1.5K关注 0票数 1

我第一次尝试运行cppunit,但是我得到了以下错误。我已经安装了,但是我认为cppunit-config有一个问题,有人知道如何解决这个问题吗?我在nebeans上看到了一个报告错误,但是我不知道如何从终端运行config?

bug.cgi?id=230617

代码语言:javascript
复制
"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
"/usr/bin/make"  -f nbproject/Makefile-Debug.mk dist/Debug/GNU-MacOSX/exercise1
make[2]: `dist/Debug/GNU-MacOSX/exercise1' is up to date.
"/usr/bin/make" -f nbproject/Makefile-Debug.mk SUBPROJECTS= .build-tests-conf
"/usr/bin/make"  -f nbproject/Makefile-Debug.mk dist/Debug/GNU-MacOSX/exercise1
make[2]: `dist/Debug/GNU-MacOSX/exercise1' is up to date.
mkdir -p build/Debug/GNU-MacOSX/tests/TestFiles
g++       -o build/Debug/GNU-MacOSX/tests/TestFiles/f1 build/Debug/GNU-MacOSX/tests/tests/newtestclass.o build/Debug/GNU-MacOSX/tests/tests/newtestrunner.o build/Debug/GNU-MacOSX/main_nomain.o  `cppunit-config --libs`   
/bin/sh: cppunit-config: command not found
Undefined symbols for architecture x86_64:
  "CppUnit::TestResult::addListener(CppUnit::TestListener*)", referenced from:
      _main in newtestrunner.o
  "CppUnit::TestResult::TestResult(CppUnit::SynchronizedObject::SynchronizationObject*)", referenced from:
      _main in newtestrunner.o
  "CppUnit::TestResult::~TestResult()", referenced from:
      _main in newtestrunner.o
  "CppUnit::TestRunner::run(CppUnit::TestResult&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)", referenced from:
      _main in newtestrunner.o
  "CppUnit::TestRunner::addTest(CppUnit::Test*)", referenced from:
      _main in newtestrunner.o
  "CppUnit::TestRunner::TestRunner()", referenced from:
      _main in newtestrunner.o
  "CppUnit::TestRunner::~TestRunner()", referenced from:
      _main in newtestrunner.o
  "CppUnit::CompilerOutputter::write()", referenced from:
      _main in newtestrunner.o
  "CppUnit::CompilerOutputter::CompilerOutputter(CppUnit::TestResultCollector*, std::basic_ostream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)", referenced from:
      _main in newtestrunner.o
  "CppUnit::CompilerOutputter::~CompilerOutputter()", referenced from:
      _main in newtestrunner.o
  "CppUnit::TestFactoryRegistry::getRegistry(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)", referenced from:
      CppUnit::AutoRegisterSuite<newtestclass>::AutoRegisterSuite()in newtestclass.o
      _main in newtestrunner.o
  "CppUnit::TestFactoryRegistry::registerFactory(CppUnit::TestFactory*)", referenced from:
      CppUnit::AutoRegisterSuite<newtestclass>::AutoRegisterSuite()in newtestclass.o
  "CppUnit::TestFactoryRegistry::unregisterFactory(CppUnit::TestFactory*)", referenced from:
      CppUnit::AutoRegisterSuite<newtestclass>::~AutoRegisterSuite()in newtestclass.o
  "CppUnit::TestFactoryRegistry::isValid()", referenced from:
      CppUnit::AutoRegisterSuite<newtestclass>::~AutoRegisterSuite()in newtestclass.o
  "CppUnit::TestResultCollector::TestResultCollector(CppUnit::SynchronizedObject::SynchronizationObject*)", referenced from:
      _main in newtestrunner.o
  "CppUnit::TestResultCollector::~TestResultCollector()", referenced from:
      _main in newtestrunner.o
  "CppUnit::BriefTestProgressListener::BriefTestProgressListener()", referenced from:
      _main in newtestrunner.o
  "CppUnit::BriefTestProgressListener::~BriefTestProgressListener()", referenced from:
      _main in newtestrunner.o
  "CppUnit::TestSuiteBuilderContextBase::addTest(CppUnit::Test*)", referenced from:
      newtestclass::addTestsToSuite(CppUnit::TestSuiteBuilderContextBase&)         in newtestclass.o
  "CppUnit::TestSuiteBuilderContextBase::TestSuiteBuilderContextBase(CppUnit::TestSuite&, CppUnit::TestNamer const&, CppUnit::TestFixtureFactory&)", referenced from:
      newtestclass::suite()      in newtestclass.o
  "CppUnit::TestSuiteBuilderContextBase::~TestSuiteBuilderContextBase()", referenced from:
      newtestclass::suite()      in newtestclass.o
  "CppUnit::TestSuiteBuilderContextBase::~TestSuiteBuilderContextBase()", referenced from:
      CppUnit::TestSuiteBuilderContext<newtestclass>::~TestSuiteBuilderContext()in newtestclass.o
      CppUnit::TestSuiteBuilderContext<newtestclass>::~TestSuiteBuilderContext()in newtestclass.o
  "CppUnit::TestCase::run(CppUnit::TestResult*)", referenced from:
      vtable for CppUnit::TestCaller<newtestclass>in newtestclass.o
  "CppUnit::TestCase::TestCase(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)", referenced from:
      CppUnit::TestCaller<newtestclass>::TestCaller(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, void (newtestclass::*)(), newtestclass*)in newtestclass.o
  "CppUnit::TestCase::~TestCase()", referenced from:
      CppUnit::TestCaller<newtestclass>::~TestCaller()in newtestclass.o
      CppUnit::TestCaller<newtestclass>::~TestCaller()in newtestclass.o
  "CppUnit::TestNamer::TestNamer(std::type_info const&)", referenced from:
      newtestclass::getTestNamer__()       in newtestclass.o
  "CppUnit::TestNamer::~TestNamer()", referenced from:
      ___tcf_0 in newtestclass.o
  "CppUnit::TestSuite::TestSuite(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)", referenced from:
      newtestclass::suite()      in newtestclass.o
  "CppUnit::TestSuccessListener::wasSuccessful() const", referenced from:
      _main in newtestrunner.o
  "CppUnit::TestSuiteBuilderContextBase::getTestNameFor(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const", referenced from:
      newtestclass::addTestsToSuite(CppUnit::TestSuiteBuilderContextBase&)         in newtestclass.o
  "CppUnit::TestSuiteBuilderContextBase::makeTestFixture() const", referenced from:
      CppUnit::TestSuiteBuilderContext<newtestclass>::makeFixture() const   in newtestclass.o
  "CppUnit::Test::findTestPath(CppUnit::Test const*, CppUnit::TestPath&) const", referenced from:
      vtable for CppUnit::TestCaller<newtestclass>in newtestclass.o
  "CppUnit::Test::findTestPath(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, CppUnit::TestPath&) const", referenced from:
      vtable for CppUnit::TestCaller<newtestclass>in newtestclass.o
  "CppUnit::Test::getChildTestAt(int) const", referenced from:
      vtable for CppUnit::TestCaller<newtestclass>in newtestclass.o
  "CppUnit::Test::resolveTestPath(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const", referenced from:
      vtable for CppUnit::TestCaller<newtestclass>in newtestclass.o
  "CppUnit::Test::checkIsValidIndex(int) const", referenced from:
      vtable for CppUnit::TestCaller<newtestclass>in newtestclass.o
  "CppUnit::Test::findTest(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const", referenced from:
      vtable for CppUnit::TestCaller<newtestclass>in newtestclass.o
  "CppUnit::TestCase::getName() const", referenced from:
      vtable for CppUnit::TestCaller<newtestclass>in newtestclass.o
  "CppUnit::TestLeaf::countTestCases() const", referenced from:
      vtable for CppUnit::TestCaller<newtestclass>in newtestclass.o
  "CppUnit::TestLeaf::doGetChildTestAt(int) const", referenced from:
      vtable for CppUnit::TestCaller<newtestclass>in newtestclass.o
  "CppUnit::TestLeaf::getChildTestCount() const", referenced from:
      vtable for CppUnit::TestCaller<newtestclass>in newtestclass.o
  "typeinfo for CppUnit::TestSuiteBuilderContextBase", referenced from:
      typeinfo for CppUnit::TestSuiteBuilderContext<newtestclass>in newtestclass.o
  "typeinfo for CppUnit::TestCase", referenced from:
      typeinfo for CppUnit::TestCaller<newtestclass>in newtestclass.o
  "vtable for CppUnit::TestSuiteBuilderContextBase", referenced from:
      CppUnit::TestSuiteBuilderContextBase::TestSuiteBuilderContextBase(CppUnit::TestSuiteBuilderContextBase const&)in newtestclass.o
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[1]: *** [build/Debug/GNU-MacOSX/tests/TestFiles/f1] Error 1
make: *** [.build-tests-impl] Error 2


BUILD TESTS FAILED (exit value 2, total time: 236ms)
EN

回答 1

Stack Overflow用户

发布于 2014-11-10 03:44:39

遇到了同样的问题,并在网上找到了一些解决办法。在我的例子中,我在小牛上安装了Homebrew的cppunit,Netbeans的版本是8.1。就像上面提到的,Netbeans抱怨说,尽管我可以从终端运行/bin/sh: cppunit-config: command not found,但Netbeans仍然抱怨说。这消除了与路径相关的问题。从终端运行netbeans是一个临时修复,但我发现有一个真正的修复方法。

步骤:

  1. 在“Test Files文件夹”下的“项目”视图中,右键单击“测试”文件夹并转到“Properties”.(如果您还没有测试文件夹,请右键单击Test Files,然后说new CppUnit Test)
  2. 转到linker部分并单击Libraries
  3. 您将看到一些以cppunit-开头的行,将它们全部删除
  4. Add Option,选择Other Option并键入-lcunit
  5. 点击Ok

现在,右键单击Test文件夹,然后Test命令应该正确地运行测试.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22218203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档