当前位置:  开发笔记 > 编程语言 > 正文

为什么不在netbeans项目的ant命令行中运行test-with-groovy运行测试?

如何解决《为什么不在netbeans项目的ant命令行中运行test-with-groovy运行测试?》经验,为你挑选了0个好方法。

我有一个netbeans项目,而且我已经熟悉了spock测试.当我右键单击项目并说测试时,它会运行一个名为的任务

test-with-groovy

但是当我运行ant test-with-groovy时,测试被编译但没有运行.我觉得netbeans ide必须添加一些内容,但我不知道是什么,半天的搜索没有结果.

谁能帮我?

以下是如何获得我得到的结果:

我在netbeans 8.0.2中用一个简单的main创建了一个简单的java项目

package simpleantjava;

public class SimpleAntJava {

    public static void main(String[] args) {
        // TODO code application logic here
        System.out.println("Main Ran");
    }

}

然后我创建了两个测试文件,一个是junit java文件:

package simpleantjava;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;

/**
 *
 * @author vextorspace
 */
public class SimpleAntJavaTest {

    public SimpleAntJavaTest() {
    }

    @BeforeClass
    public static void setUpClass() {
    }

    @AfterClass
    public static void tearDownClass() {
    }

    @Before
    public void setUp() {
    }

    @After
    public void tearDown() {
    }

    /**
     * Test of main method, of class SimpleAntJava.
     */
    @Test
    public void testMain() {
        System.out.println("main");
        String[] args = null;
        SimpleAntJava.main(args);
        // TODO review the generated test code and remove the default call to fail.
        fail("Main JUnit Test is a prototype.");
    }

}

还有一个基于时髦的spock测试:

package simpleantjava

import org.junit.Test
import spock.lang.Specification

/**
 *
 * @author vextorspace
 */
class NewGroovyTest extends Specification{
    @Test
    def "Our groovy test should run"() {
        expect:
          true
    }

    @Test
    def "Failing tests should fail"() {
        expect:
          false
    }
}

如果我从netbeans运行测试,输出表明它正在运行:

ant -f /home/vextorspace/NetBeansProjects/SimpleAntJava -Dtest.binarytestincludes=**/*Test.class -Dtest.binaryincludes= -Dtest.binaryexcludes=**/*$* test-with-groovy

但是如果我在ant命令行中运行它,它不会运行任何测试(虽然它也没有给出任何错误)它会将两个测试文件编译成build/test/classes中的类文件.

如果我运行ant clean test它会构建两个测试文件但不运行groovy测试,只运行java测试.

build-impl.xml有test的定义(我不会包含整个文件,但它是netbeans创建的标准文件:这里是我相信的相关部分:


    
        
        
        
        
        
        
            
            
                
                
                    
                    
                
                
                
                
                
            
        
    


    
        
        
        
        
        
        
            
            
                
                    
                        
                    
                    
                        
                    
                
                
                    
                    
                
                
                
                
                
            
        
    


...









    Some tests failed; see details above.







并且groovy-build.xml中包含test-with-groovy ant目标:


    


    Some tests failed; see details above.



    Must select some files in the IDE or set test.includes
    

我必须承认我不知道macrodef究竟在做什么.但我尝试将**/*Test.java更改为**/*Test.groovy,**/*Test.class和**/Test.无济于事.

有谁知道如何使这项工作?我不想抛弃整个构建过程,因为我实际上正在使用jogl插件和ant文件中的大量自定义内容工作6年的遗留项目,所以我想弄清楚如何使这项工作.

谢谢!

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有