我的Android应用程序由几个模块组成。在我的数据模块中,我想获取应用程序的名称。
到目前为止,我是通过遵循以下解决方案来完成的,该解决方案返回应用程序清单中声明的应用程序名称:
class Registry {
public Registry(Context context) {
mContext = context;
}
public String getApplicationName() {
ApplicationInfo applicationInfo = mContext.getApplicationInfo();
int stringId = applicationInfo.labelRes;
return stringId == 0 ? applicationInfo.nonLocalizedLabel.toString() : context.getString(stringId);
}
private Context mContext;
}
这在运行我的应用程序时很好:applicationInfo.labelres
返回字符串ID,然后将其转换为字符串。
@RunWith(AndroidJUnit4.class)
public class RegistryTest {
@Test
public void testGetApplicationName() {
Context context = InstrumentationRegistry.getContext();
Registry registry = new Registry(context);
String applicationName = registry.getApplicationName();
assertEquals("Foo", applicationName);
}
}
来自InstrumentationRegistry.getContext()
的文档
返回此检测的包的上下文
所以,这是测试应用程序的上下文。如果检查InstrumentationRegistry.getTargetContext()
我已经在谷歌云功能中构建了API。当我试图直接获取API时,会出现CORS错误。虽然我添加了,但失败了。 来自“http://localhost:3000”的“https://xxxxxxxx.com”已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上没有“access-control-allog-origin”标头。如果一个不透明的响应满足您的需要,请将请求的模式设置为“n
我的问题是,如果我知道中设置的值,那么也是由我设置的,那么assertEquals将始终传递给测试,对吗?它本质上是在测试1==1种测试。那么做这些单元测试有什么意义呢?我知道服务对象不应该连接到实际的DB,因此我们在嘲笑它。那么做这些测试有什么意义呢?关于如何查看单元测试,我是否错过了更大的图景? 附言。-请随时删除此问题,如果它违反了本论坛的规则。
问题内容: 我如何获取 当前正在运行的测试用例名称 ,而在testsuite集合中却有16个测试用例。测试按顺序执行(按照将测试添加到testSuite集合的顺序)。当我将所有测试添加到testSuite集合中时,我可以预览该对象,但是如何在测试运行时获取当前正在执行的测试。也许某些变量保存了此信息? 例: 使用Selenium-RC框架执行测试。 问题答案: unittest.TestCase.
我一直试图用robotium构建一个单元测试项目,但运行它总是失败,出现错误。 正如我所说的,我已经讨论了很多问题,但没有找到任何帮助我解决这个问题的东西。提前致谢
集成测试: 当我偶尔运行这个测试时,一切都很好,但是当我和其他测试一起运行它时,没有使用模拟的ServerThroughRabbitMQ,所以一些spring缓存强制使用旧的rabbit侦听器。 我试图调试它,我可以看到,正确的bean被autowired到测试中,但由于某些原因旧监听器使用(旧bean字段instanceID=1新mocked bean instanceID=3),测试失败(不确
下列是评估过程中的测试项目清单: 索引 测试类别 测试名称 4.2 信息收集 4.2.1 OTG-INFO-001 搜索引擎信息发现和侦察 4.2.2 OTG-INFO-002 识别web服务器 4.2.3 OTG-INFO-003 web服务器元文件信息发现 4.2.4 OTG-INFO-004 服务器应用应用枚举 4.2.5 OTG-INFO-005 评论信息发现 4.2.6 OTG-INFO