小编Bri*_*ian的帖子

Eclipse中的Android单元测试:"无法启动测试"

我刚开始尝试在基本上是我的第一个Android应用程序中设置一些单元测试.我有一段时间为此寻找资源,但最终还是能够把我希望的正确道路向前推进.

首先,这就是我所做的.

在Eclipse中,我右键单击了我想为其创建测试项目的项目.我选择了AndroidTools - > New Test Project我填写了必要的信息,为新项目选择../MyApp/tests的位置,并选择MyApp作为要测试的项目.其他一切都被保留为默认值.

在执行此操作时,我收到以下错误:

[2011-04-01 08:13:02 - WPMSTest] R.java手动修改!恢复生成的版本!

但一切似乎都没问题.我的tests文件夹中有一个新的源代码树.

所以我尝试通过RunAs - > Android jUnit test来执行它(首先在硬件上,然后在模拟器上).

在两次运行中,我在我的eclipse控制台中收到了以下内容:

[2011-04-01 08:23:04 - WPMSTest]在设备模拟器上启动检测android.test.InstrumentationTestRunner-5554
[2011-04-01 08:23:04 - WPMSTest]无法启动测试

我的两个清单文件:

WPMSTest:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.WPMS.test"
  android:versionCode="1"
  android:versionName="1.0">

<instrumentation android:targetPackage="com.WPMS" android:name="android.test.InstrumentationTestRunner" />
<application android:icon="@drawable/icon" android:label="@string/app_name">

<uses-library android:name="android.test.runner" />
</application>
Run Code Online (Sandbox Code Playgroud)

WPMS:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.WPMS"
  android:versionCode="1"
  android:versionName="1.0">
<application android:label="@string/app_name" android:icon="@drawable/ic_launcher_wpms">
    <activity android:name=".WPMS"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>    

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" …
Run Code Online (Sandbox Code Playgroud)

eclipse android unit-testing

11
推荐指数
1
解决办法
1万
查看次数

模拟WifiManager进行Android单元测试

我正在尝试为依赖WifiManager和返回的ScanResults的几个类实现一些单元测试.我想做的是能够控制我收到的ScanResults,以测试各种不同的条件.

不幸的是,我很难成功模拟WifiManager(虽然我想我可以在我的MockWifiManager中传递它的构造函数空引用).这只是我的第一个问题,因为我有一个MockWifiManager可以玩(如果这甚至可以工作!)我将不得不成功创建我的测试ScanResults,它没有公共构造函数(想象一下它是由某个工厂创建的).

问题:如果没有公共构造函数,我甚至可以扩展它吗?

我错了吗?我经常被问到如何做一个特定任务的问题,但实际上他们试图以错误的方式解决不同的问题,也许这就是我在这里做的事情?

我对android很新,所以不得不模拟所有这些功能一直试图说.

感谢您的投入!

编辑:我还有一段时间来实例化一个MockWifiManager.wifi管理器的构造函数期望IWifiManager是Android SDK中似乎不存在的类型.

java junit android unit-testing mocking

5
推荐指数
1
解决办法
3880
查看次数

C++集合中对象的内存管理

我有一个地图将整数与矢量(对象)相关联.这些向量表示要执行的一组任务.为了减少使用此映射和向量时正在进行的复制量,我将它们设置为使用指针.

std::map<int, std::vector<MyObject *> *> myMap;
Run Code Online (Sandbox Code Playgroud)

在初始化包含myMap的类的过程中,我通过创建一个填充了新MyObjects的新向量来填充myMap.

然而,我关心的是内存管理.现在我把这些各种各样的物品放在堆的某个地方,当我完成它们时,我负责清理它们.我也知道在程序结束之前我永远不会完成它们.但是在10周内有人决定修改这个应用程序的聪明方法涉及从地图/向量中删除项目.这会导致内存泄漏.

我的问题是如何处理这些对象的正确释放,以便即使它们通过STL函数被删除,对象也会成功解除分配?

非常感谢您的帮助,如果我错过任何重要的事情,请告诉我!谢谢!

c++ containers memory-management stl

3
推荐指数
2
解决办法
1355
查看次数

使用 Java Lambda 创建两个(及更多)列表的笛卡尔积集合

我可以在 Scala 中使用以下方法轻松实现这一点:

def permute(xs: List[Int], ys: List[Int]) = {
  for {x <- xs; y <- ys} yield (x,y)
}
Run Code Online (Sandbox Code Playgroud)

所以如果我给它 {1, 2}, {3, 4} 我返回 {1, 3}, {1, 4}, {2, 3}, {2, 4}

我希望能够使用流将其转换为 java 8。

我遇到了一些困难,我希望能够将其扩展得更远,因为我希望能够从两个以上的列表中生成许多排列的测试样本。

即使使用流,它是否也不可避免地会成为嵌套的混乱,还是我不够应用自己?

在意识到我正在寻找笛卡尔积后发现了一些额外的答案:

如何使用 Java 8 流制作笛卡尔积?

java lambda scala for-comprehension

3
推荐指数
1
解决办法
940
查看次数

在构造函数初始化列表中向STL Map添加元素?

我想知道这是否可能,如果是这样的话我怎么会这样做.如果不可能,我只需要在构造函数体中添加元素.

理想情况下,我希望地图在构造后不可变.

我想要实现的是在地图中添加两对从构造函数参数创建的对.

c++ stl initialization map

1
推荐指数
1
解决办法
7478
查看次数