在Eclipse中运行JUnit与在终端/命令提示符下运行JUnit 解释- 我有一个java文件(Service.java)包含多个方法(higher(int,int):int和isPerfectSquare(int):boolean) 我在ServiceTest.java中为这个类创建了一个测试,它包含testHigher()和testIsPerfectSquare() 如果两个方法中的一个(在我的示例中,在higher中)存在编译错误,Eclipse仍然运行测试,显示一个通过和一个错误

在Eclipse中运行JUnit与在终端/命令提示符下运行JUnit 解释- 我有一个java文件(Service.java)包含多个方法(higher(int,int):int和isPerfectSquare(int):boolean) 我在ServiceTest.java中为这个类创建了一个测试,它包含testHigher()和testIsPerfectSquare() 如果两个方法中的一个(在我的示例中,在higher中)存在编译错误,Eclipse仍然运行测试,显示一个通过和一个错误,java,eclipse,junit,terminal,command-prompt,Java,Eclipse,Junit,Terminal,Command Prompt,但是,使用以下命令在终端中编译会导致错误 javac -cp out:junit-platform-console-standalone-1.5.2.jar Service.java ServiceTest.java 这意味着,我无法使用以下命令在终端中执行: java -jar junit-platform-console-standalone-1.5.2.jar -class-path . --scan-class-path 问题:- 即使测试中的类中的某些方法存在编译错误(如

但是,使用以下命令在终端中编译会导致错误

 javac -cp out:junit-platform-console-standalone-1.5.2.jar Service.java ServiceTest.java
  • 这意味着,我无法使用以下命令在终端中执行:

     java -jar junit-platform-console-standalone-1.5.2.jar -class-path . --scan-class-path
    
  • 问题:- 即使测试中的类中的某些方法存在编译错误(如Eclipse),如何继续执行测试。任何帮助都将不胜感激。谢谢

    相关代码如下-
    公共类服务{
    公共静态int更高(int a,int b){//有编译错误
    如果(a>b){
    返回a;
    }
    如果(b>a){
    返回b;
    }
    }
    公共静态布尔值isPerfectSquare(int n){
    返回Math.pow((int)Math.sqrt(n),2)=n;
    }
    }
    
    import static org.junit.jupiter.api.Assertions.*;
    导入org.junit.jupiter.api.Test;
    类服务测试{
    @试验
    void testHigher(){
    资产质量(5,服务级别更高(3,5));
    资产质量(6,服务级别更高(6,4));
    资产质量(7,服务级别更高(7,7));
    }
    @试验
    void testIsPerfectSquare(){
    assertTrue(Service.isPerfectSquare(64));
    assertFalse(Service.isPerfectSquare(63));
    }
    }
    
    javac在出现错误时不会编译。Eclipse编译器编译它能编译的内容,并在运行时为不可编译的代码抛出错误。因此,如果您希望在命令行上显示eclipse行为,请在命令行上使用eclipse编译器。或者更简单,停止尝试运行包含错误的代码。首先修复错误。谢谢@JBNizet。它需要评估几份提交的文件,因此不幸的是,汇编错误不应该被删除。我研究了Eclipse编译。如果你知道如何用它在你的头顶上,你能分享它吗?否则,我现在就去找。不,我不。。。。显示了如何在命令行上使用Eclipse的编译器,它可能会有帮助,不用担心,@JBNizet