草庐IT

test_event

全部标签

Android 优点和缺点 : Event Bus and RxJava

我一直在我的应用程序中使用事件总线(即:greenrobot/EventBus)。但是我发现使用EventBus有一些缺点:链式任务执行很困难很多类来表示事件不太清晰的代码(好吧,仍然可以追踪,但不是那么清晰)我一直在研究解决这个问题的新技术。我读了很多关于RxJava的文章,想知道它是否是一个解决方案。所以我关于RxJava的问题(基于我最近阅读的内容):可以随时注册RxJava观察者吗?所以不仅仅是在创建Observable时。使用EventBus这是可能的,我可以随时订阅,而不仅仅是在创建Observable时。您如何处理两个或多个发布者发布相同类型的事件(例如:导航事件)?将发

android - 事件总线 : Activity does not receive event when app is in the background

我正在使用EventBus在Activity和Service之间进行通信。今天我遇到了一个问题,不知道为什么。我有Activity、Fragment和Service。所有这些都工作正常。在Activity和Fragment中,我将它们注册到Receiveevents从Service交付在Activity和Fragment中,我在调用onDestroy()时取消注册它们.在正常情况下,当Services传递events时,Fragment和Activity可以接收到那些events并且运行良好。但是当App被推送到background时(通过按下Home或Power按钮),只有Fragm

android - fragment : No subscribers registered for event class 中的 GreenRobot EventBus 错误

我有一个Activity,它的布局包含一个FrameLayout。我使用framelayout作为fragment容器。我使用FragmentManager事务替换了FrameLayout中的fragment。在fragment的一种onCreate方法中,我使用EventBus注册fragment。@OverridepublicvoidonCreate(){EventBus.getDefault().register(this);//otherinitializationcode}fragment在其布局中有一个GridView。每当单击gridView中的项目时,我都会将事件发布到

c++ - 在 "test mode"中打印信息,但不在 "normal execution"中打印信息

我正在使用c++中的应用程序,它使用特殊的dprintf函数来打印信息,这是一个示例:dprintf(verbose,"Thevalueis:%d",i);我正在做的是,当我出于测试目的定义冗长然后打印信息时,当我在正常执行中工作时我没有定义它并且我没有在屏幕上看到无用的信息。我的问题是如何执行该功能或实现相同的想法? 最佳答案 我尽量避免使用var-argC风格的函数,主要原因有两个:它们不是类型安全的,不能使用运算符他们无法识别何时提供的论点太少或太多我创建了一种使用boost::fusion的方法,它以类型安全的方式提供参数。

c++ - CPPUnit 中测试套件属性使用的示例是什么? (CPPUNIT_TEST_SUITE_PROPERTY)

我加入了一个使用CPPUnit进行单元测试的项目,并将添加一些可能共享设置和拆卸代码的测试。在对此进行更多研究时,我遇到了CPPUNIT_TEST_SUITE_PROPERTY(来自https://people.freedesktop.org/~mmohrhard/cppunit/group___writing_test_fixture.html)它的描述说Addsapropertytothetestsuitebuildercontext.http://cppunit.sourceforge.net/doc/cvs/group___writing_test_fixture.html说如

c++ - Win32中是否有C++跨平台 "named event like the "CreateEvent()”?

我正在寻找类似于Win32世界中的CreateEvent()、SetEvent()和WaitForMultipleObjects()的东西。具体来说,这必须可以在同一台机器上跨进程访问。我们已经将Poco用于一些跨平台的东西,但我没有看到Poco::Event是我想要的。也许我遗漏了什么。编辑:解释我想做什么:我希望进程B知道进程A何时发生某些事情。这在win32中是微不足道的-每个进程/线程调用CreateEvent()并为事件命名。当发生某些事情时,进程B调用waitForXObject()并且进程A调用SetEvent()。B发出信号。同样,这在win32中很简单,但如何跨平台进

c++ - Boost.Test 错误消息不再显示在 VS2010 的错误列表中

我正在为nativeC++项目使用Boost.Test单元测试框架。一切正常,但在升级到VisualStudio2010后我遇到了一个问题:在测试作为生成后步骤运行后,有关失败测试的消息不再显示在错误列表中。这是一个遗憾,因为Boost.Test与nativeC++项目的组合最接近(尽管仍然很远)我习惯于从单元测试管理的项目中获得舒适感。我正在使用Boost.Test作者推荐的配置here.任何人都可以帮助解决这个小问题,但有点让人感觉不舒服吗?问候,保罗 最佳答案 如果你不想等待发布,想自己修复格式化程序打开BOOST_PATH\

c++ - 更快地编译 Boost.Test 测试

我正在使用xcode(gcc)编译我的boost测试套件,它花费的时间太长。测试是最小的虚拟测试,但编译它们需要几秒钟(大约20秒):#include"boost/test/included/unit_test.hpp"BOOST_AUTO_TEST_CASE(dummy){BOOST_CHECK_EQUAL(2+2,4);}BOOST_AUTO_TEST_CASE(dummyFail){BOOST_CHECK_EQUAL(2+3,4);}手册建议使用库版本来boost编译。但是,我担心这可能行不通——xcode已经只重建了我的测试。由于存在目标文件,因此不会重新编译整个框架。我猜是B

c++ - 如何让自定义运算符 == 与 Google Test 一起使用?

我在将自定义重载“==”运算符与PCL和GoogleTest(GTest)结合使用时遇到问题#includenamespacepcl{structPointXYZ;}booloperator==(pcl::PointXYZp1,pcl::PointXYZp2){returnp1.x-p2.xTEST(Foo,bar){pcl::PointXYZa{2,3,4};pcl::PointXYZPb{2,3,4};EXPECT_EQ(a,b);//Compileerrornomatchforoperator==}intmain(intargc,char**argv){testing::Init

c++ - gtest 中对 testing::internal::EqFailure 的 undefined reference

我正在尝试使用GoogleTest对函数进行测试,现在它不再找到EqFailurething:/usr/include/gtest/gtest.h:1337:undefinedreferenceto`testing::internal::EqFailure(charconst*,charconst*,testing::internal::Stringconst&,testing::internal::Stringconst&,bool)'我正在这样写测试:test_file.cpp:#include#include"tools/CMorphology.hpp"TEST(erode_Mo