小编mBr*_*ria的帖子

在JUnit断言中比较数组,简洁的内置方式?

是否有一种简洁的内置方法在JUnit中对两个类似类型的数组进行等于断言?默认情况下(至少在JUnit 4中)它似乎在数组对象本身上进行实例比较.

EG,不起作用:

int[] expectedResult = new int[] { 116800,  116800 };
int[] result = new GraphixMask().sortedAreas(rectangles);
assertEquals(expectedResult, result);
Run Code Online (Sandbox Code Playgroud)

当然,我可以手动完成:

assertEquals(expectedResult.length, result.length);
for (int i = 0; i < expectedResult.length; i++)
    assertEquals("mismatch at " + i, expectedResult[i], result[i]);
Run Code Online (Sandbox Code Playgroud)

..但有更好的方法吗?

java arrays junit assertions

145
推荐指数
6
解决办法
10万
查看次数

AWS Datapipeline的EmrActivity步骤运行配置单元脚本立即失败,并显示“没有此类文件或目录”

我有一个简单的DataPipeline作业,该作业只有一个EmrActivity,并且只有一个步骤试图从s3存储桶中执行配置单元脚本。

EmrActivity的配置如下所示:

{
  "name" : "Extract and Transform",
  "id" : "HiveActivity",
  "type" : "EmrActivity",
  "runsOn" : { "ref" : "EmrCluster" },
  "step" : ["command-runner.jar,/usr/share/aws/emr/scripts/hive-script --run-hive-script --args -f s3://[bucket-name-removed]/s1-tracer-hql.q -d INPUT=s3://[bucket-name-removed] -d OUTPUT=s3://[bucket-name-removed]"],
  "runsOn" : { "ref": "EmrCluster" }
}
Run Code Online (Sandbox Code Playgroud)

以及运行它的相应EmrCluster资源的配置:

{
  "id" : "EmrCluster",
  "type" : "EmrCluster",
  "name" : "Hive Cluster",
  "keyPair" : "[removed]",
  "masterInstanceType" : "m3.xlarge",
  "coreInstanceType" : "m3.xlarge",
  "coreInstanceCount" : "2",
  "coreInstanceBidPrice": "0.10",
  "releaseLabel": "emr-4.1.0",
  "applications": ["hive"],
  "enableDebugging" : "true",
  "terminateAfter": "45 Minutes"
}
Run Code Online (Sandbox Code Playgroud)

我收到的错误消息始终如下:

java.io.IOException: Cannot run …
Run Code Online (Sandbox Code Playgroud)

hadoop hive amazon-web-services amazon-emr amazon-data-pipeline

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