Spark单元测试不适用于powermockito



我正在为我的spark应用程序编写单元测试。我使用powermockito来测试一个转换。当我运行junit测试时,我得到了类似的错误

2016-03-24 17:10:10:805 INFO  - Running Spark version 1.6.0
2016-03-24 17:10:11:479 WARN  - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
2016-03-24 17:10:11:586 ERROR - Can't find user in Subject:
    Principal: NTUserPrincipal: My_userNAME
    Principal: NTSidUserPrincipal: S-1-5-21-1082354718-1040695487-3441060932-16865
    Principal: NTDomainPrincipal: MY_DOMAIN
    .............
    ...........
    Public Credential: NTNumericCredential: 1872

当我删除powermockito的udage时,上面的错误就消失了。我不知道为什么powermockito没有进行spark-rdd转换。

我也遇到了同样的问题。我找到了解决方案,主要问题是PowerMockRunner和spark会话。这可以通过添加来纠正

@PowerMockIgnore({"org.apache.hadoop.*","javax.*","com.sun.org.apache.*"})

这对我很有效。不过,如果你遇到一些错误,试着弄清楚调用了什么内部类,最后忽略它。

@PowerMockIgnore()可以将以下依赖项添加到我的build.gradle文件中

//https://mvnrepository.com/artifact/com.holdenkarau/spark-testing-base测试实现组:"com.holdenkarau",名称:"spark-testing-base_2.11",版本:"2.1.0_0.7.4"

最新更新