草庐IT

mock-maker-inline

全部标签

安卓单元测试 : How to mock Android's context

我是Android单元测试的新手,想知道如果我想对下面的getSomething()进行单元测试,我该如何模拟上下文。提前致谢!publicclassProvider{privatefinalStringpackageName;publicProvider(Contextcontext){packageName=context.getPackageName();}publicDatagetSomething(){returnget(packageName);}privateDataget(StringpackageName){//returnsomethingherebasedonth

android - 如何使用 mock() 和 spy() 测试静态方法

下面在代码部分中发布的方法包含一个静态方法,即“with()”。我想测试下面的代码,所以我编写了这个方法的测试如测试部分所示。我尝试同时使用“spy()”和“mock()”来测试该方法,但测试总是失败。请告诉我如何测试返回void的方法?代码publicRequestCreatorrequestCreatorFromUrl(StringpicUrl){returnPicasso.with(mCtx).load(picUrl);}测试:publicclassValidationTest{@MockprivateContextmCtx=null;@RulepublicMockitoRule

android - 权限 ACCESS_MOCK_LOCATION 被忽略?

我没有做过广泛的测试,但有证据表明应用程序list中的android.permission.ACCESS_MOCK_LOCATION并不像人们假设的那样工作(即如果存在-允许模拟位置提供者,否则不允许)。所以像https://play.google.com/store/apps/details?id=com.lexa.fakegps这样的假GPS应用程序与任何应用程序一起工作,无论它是否设置了ACCESS_MOCK_LOCATION。如果用户允许设备设置中的虚假位置似乎就足够了。也许ACCESS_MOCK_LOCATION真的意味着应用程序本身可以是模拟位置提供者?如果是这样,那么它应

Postman接口测试之Mock快速入门

一、Mock简介1.Mock定义  Mock是一种比较特殊的测试技巧,可以在没有依赖项的情况下进行接口或单元测试。通常情况下,Mock与其他方法的区别是,用于模拟代码依赖对象,并允许设置对应的期望值。简单一点来讲,就是Mock创建了一个对象,模拟真实对象的行为。2.Mock目的  因项目中任务的不同分工,会出现每个人的任务进度不一样的情况。就会出现模块A开发完成,但其依赖项模块B还未完成,这时候如果进行集成测试时,就会出现两个模块无法有效完成工作。针对这种情况,Mock服务便应运而生。Postman中的Mock服务器可以减轻团队开发中这种不同步的情况。3.Mock意义  在API开发的前期,构

android - Android Studio : "not mocked" error 单元测试

我是AndroidStudio新手。我正在使用AndroidStudio1.2预览版2、gradle2.2.1和gradle插件1.1.0。在尝试运行我的单元测试时,我无法解决此错误:java.lang.RuntimeException:MethodgetInstrumentationinandroid.test.InstrumentationTestCasenotmocked这是我的测试类:publicclassAppPreferencesTestextendsInstrumentationTestCase{AppPreferencespreferences;@Beforepubli

c++ - 模板 `inline` 函数的静态局部变量

这个问题在这里已经有了答案:Staticvariableusedinatemplatefunction(3个答案)关闭5个月前。static如果我的理解是正确的,C++中inline函数的局部变量保证像单个全局变量一样存在。如果inline函数是一个模板,编译器可以生成该函数的多个版本,这是否同样适用?

c++ - 链接器实际上如何处理多重定义的 `inline` 函数?

在C和C++中,具有外部链接的inline函数当然可以在链接时有多个可用定义,假设这些定义全部(希望)相同。(当然,我指的是使用inline链接规范声明的函数,而不是编译器或链接时优化器实际内联的函数。)那么当常见的链接器遇到一个函数的多个定义时,它们通常做什么呢?特别是:是否所有定义都包含在最终的可执行文件或共享库中?函数的所有调用是否都链接到相同的定义?一个或多个C和C++ISO标准是否要求回答上述问题?如果不是,大多数常见平台是否做同样的事情?附言是的,我知道C和C++是不同的语言,但它们都支持inline,并且它们的编译器输出通常可以通过相同的链接器链接(例如GCC的ld),所

c++ - boost 是否使用 C++11 "inline namespaces"来避免运行时出现 ABI 不兼容错误?

C++11具有称为“内联命名空间”的功能,它允许作者在链接时强制执行ABI兼容性,而无需篡改API。例如,来自@HowardHinnant的这些有用的答案解释了libc++如何使用内联命名空间:Usinglibstdc++compiledlibrarieswithclang++-stdlib=libc++Whycan'tclangwithlibc++inc++0xmodelinkthisboost::program_optionsexample?我的问题是:boost是否利用了这个C++11特性?看起来一些boost开发者至少是thinking最终一次使用它。但是那个线程很旧。它曾经发

c++ - C4711 "function selected for inline expansion"Visual C++ 警告有什么用?

AccordingtoMSDNVisualC++可以发出C4711警告:如果编译器决定内联未标记为内联的函数,则选择函数X进行内联扩展。我不明白这个警告有什么用。假设我编译我的代码并看到这个警告。怎么办?我为什么要关心? 最佳答案 默认情况下未启用。如果出于某种原因你想知道什么时候内联函数,你可以打开它。这可能是相关的,例如,代码大小非常重要,或者您希望从模块外部跳入函数,或者您需要程序集以某种方式显示。它还可以帮助追踪代码生成错误。这纯粹是信息性的。 关于c++-C4711"funct

c++ - 如何对重载运算符使用 gmock MOCK_METHOD?

我是googlemock(和StackOverflow)的新手。我在googlemock中使用MOCK_METHODn时遇到问题,我相信这个函数被广泛使用。这是我所做的。我有一个抽象类Foo,带有虚拟重载的operator[]:classFoo{public:virtual~Foo(){};virtualintoperator[](intindex)=0;}我想使用googlemock来获取MockFoo:classMockFoo:publicFoo{public:MOCK_METHOD1(operator[],int(intindex));//Thecompilerindicates