当前位置: 首页 > 知识库问答 >
问题:

java单元测试中的类路径

桂高义
2023-03-14

我有一个文件在 /src/main/java有以下代码行:

Test.class.getClassLoader().getResourceAsStream("test.json")

相应的资源文件位于/src/main/resources。。。但我们正在考虑取消这项测试。json来自classpath(src/main/resources)文件夹,我们将再包含一个jar依赖项,该jar将包含此测试。json。。。我已经用jar依赖性进行了测试,它在类路径中运行良好。。但问题是我们有一些测试用例。。如果我们不包括jar依赖项,这些将失败。。。是否可以通过将此文件放入src/test/resources文件来运行测试用例。。没有给出jar依赖项。。

共有2个答案

段干弘毅
2023-03-14

看这个。

以输入流的形式加载文件的不同方式

这一个对我有用:

项目:newfile

文件夹:

测验JAVA

package newfile.org;

public class Test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

    }

}

myfile.txt

It's my file

设置为其他项目的jar库:

我的班级。JAVA

    package example;

    import newfile.org.Test;

public class MyClass {

     public static void main(String args[]) {

        try (
                InputStream resourceAsStream = Test.class.getResourceAsStream("myfile.txt")) {
                if(resourceAsStream == null) {
                    System.out.println("it's null");
                }
                int r;
                while((r = resourceAsStream.read()) != -1) {
                    System.out.println((char)r);
                }
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

输出:

I
t
'
s

m
y

f
i
l
e
宇文和同
2023-03-14

试试这个,我不确定,但它应该有用:

URL fileUrl = Test.class.getResource("test.json");
File testFile= new File(FileLocator.toFileURL(fileUrl).getPath());
 类似资料:
  • 我用Mockito进行了Java测试: Kotlin.TypeCastException:null不能强制转换为非null类型java.util.HashMap 如何正确模拟属性?

  • 单元测试是一种用于测试应用程序中每个函数的软件开发方法。如果你对此概念不熟悉,或许需要google一下相关概念。 CodeIgniter的单元测试类非常简单,由一个评估函数和两个结果函数组成。它没打算成为一个十全的测试集,只提供一个简单的能够评测你的代码是否可以产生正确的数据类型及结果的解决方案。 初始化单元类 和大多数其它的类一样,在CodeIgniter中,单元测试类一样要在控制器中用函数$t

  • 单元测试是一种为你的应用程序中的每个函数编写测试的软件开发方法。如果你还不熟悉这个概念, 你应该先去 Google 一下。 CodeIgniter 的单元测试类非常简单,由一个测试方法和两个显示结果的方法组成。 它没打算成为一个完整的测试套件,只是提供一个简单的机制来测试你的代码是否 生成了正确的数据类型和结果。 使用单元测试类库 初始化类 运行测试 生成报告 严格模式 启用/禁用单元测试 单元测

  • 问题内容: 正如我们在http://docs.angularjs.org/tutorial/step_07中看到的那样, 建议通过e2e测试来完成路由测试, 但是,我认为’$ routeProvider’配置是通过单个函数function($ routeProvider)完成的,我们应该能够在不涉及浏览器的情况下进行单元测试,因为我认为路由功能不需要浏览器DOM。 例如, 当url为/ foo时,

  • 我试图讨论下面SonarQube通过代码覆盖的if条件。SonarQube说2个条件中的1个都被覆盖了。如果有人能帮我把这两件事都盖上,我将不胜感激。 我已经声明了变量,并拥有了setter和getter。 下面是我要介绍的代码: 下面是测试2个条件中的1个条件的代码:

  • 我目前正在与CDI Unit合作一个项目,我遇到了一个奇怪的问题。我试图在一个简单的项目中重现它: 我有一个使用CdiRunner运行的测试类(如下所述:http://jglue.org/cdi-unit-user-guide/我的测试类注入了被测试的单元:UUD。这个类扩展了一个超级类“ParentTestClass”,它目前是无用的。 测试课。爪哇: 正如我提到的,父类是空的。 ParentT