我是新的火花与Java编程。我有一个从Oracle数据库读取数据的方法。现在我需要帮助编写测试用例使用JUnit框架为下面的代码。
数据集df=spark。read()。格式(“jdbc”)。jdbc(jdbcUrl、dbTable1、connectionProperties);
您可以使用下面的方法,您需要使用H2库,它将创建一个带有数据库的内存临时服务器,在其中您可以创建带有测试数据的所需表。
<!-- https://mvnrepository.com/artifact/com.h2database/h2 -->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.200</version>
<scope>test</scope>
</dependency>
实际方法
def GetJDBCDataframe(spark: SparkSession, jdbcUrl: String, connectionProperties :Properties): DataFrame = {
val employeesQuery = "(SELECT * FROM Employee) ref_alias"
val df = spark.read.jdbc(url = jdbcUrl, table = employeesQuery, connectionProperties)
df
}
Testcase方法:
@Test
def GetJDBCDataframe(): Unit = {
val spark: SparkSession = {
SparkSession
.builder()
.master("local[2]")
.appName("SampleSparkScalaTest")
.getOrCreate()
}
//H2 library connection for creating a inmemory MSSQL databse
val url = "jdbc:h2:mem:Mydatabasename;MODE=MSSQLServer"
val connectionProperties = new Properties()
connectionProperties.setProperty("user", "sa")
connectionProperties.setProperty("password", "")
Class.forName("org.h2.Driver")
val conn = DriverManager.getConnection(url, connectionProperties)
//create mock jdbc Employee table (immemory)
conn.prepareStatement("create table Employee(EmpId int, FirstName varchar, LastName varchar)").executeUpdate()
conn.prepareStatement("insert into Employee values (1, 'Brain', 'Lara')").executeUpdate()
conn.prepareStatement("insert into Employee values (2, 'Virat', 'Kholi')").executeUpdate()
conn.prepareStatement("insert into Employee values (3, 'MS', 'Dhoni')").executeUpdate()
conn.commit()
val rowCount = TransactionLogicTransformation.GetJDBCDataframe(spark,url,connectionProperties).count()
assertEquals(3, rowCount)
}
我有一个简单的测试用例: FileManager中的函数删除 /myDir下的所有文件,然后再次保留文件。 如上所述,我有一个。运行时,我可以按以下顺序查看所有打印: 但是,测试在失败。有两件事我不明白: > 我不明白,它在中失败了,为什么我仍然可以看到打印的,听起来就像是失败了,它没有停止运行,而是继续运行下一个测试?JUnit测试用例中的场景背后发生了什么?? 我不明白的另一件事是为什么tes
我对junit mockito非常陌生,并尝试使用mockito编写junit测试用例。 这是我的方法,我必须为此编写一个jUnit。 ChefService和ChefApi传递的方法参数来自第三方api 这里是呼叫chefService。listCookbookVersions()将返回CookBookVersion类类型的迭代器,如
问题内容: 我在NetBeans 8.2中的一个新的干净Maven项目中创建了此测试: 如果我运行测试,日志显示 我的pom.xml包含以下依赖项: 是什么导致JUnit 5忽略测试方法? 更新:我添加了surefire插件,这是完整的pom.xml: 输出更改为: 并且surefire-reports文件夹包含两个“ .dump”文件。第一个内容: 问题答案: 确保将您的配置正确地设置为: 而且
我正在为我的项目创建junit测试用例。我有下面的代码,我想在其中创建一个模拟, 我正在使用jUnit和mockito核心jar。我尝试了下面的代码, 使用上述代码,它在模拟loadProperties方法时抛出错误。如何模拟Spring静态类并返回我的模拟属性对象? 任何帮助都将不胜感激。
我试图使用JUnit servlet在Adobe AEM实例上远程执行一个JUnit测试。供参考的帖子:哪种测试框架适合Adobe CQ5项目? 我已经定义了我的测试案例,并希望能够在这个URL上看到它 这是一个非常简单的测试用例(junit3): 为了使testcase在Sling remote JUnit测试servlet中可用,我需要做什么?
customer-Mapper.xml daoimpl.java