使用JUnit运行休息服务

时间:2013-04-05 06:25:09

标签: java eclipse rest junit

我已经在soapui.org上创建了一个示例项目:http://www.soapui.org/REST-Testing/getting-started.html。创建它之后,我将测试用例导出到“soapRest.xml”文件夹中。我想将此服务与JUnit集成。我尝试了以下代码:

import com.eviware.soapui.tools.SoapUITestCaseRunner;    

public class sample_RestService {

    @Test
    public void soapUiRest(){
        SoapUITestCaseRunner runner = new SoapUITestCaseRunner();

        runner.setProjectFile("C:\\Users\\meharkoduri\\SoapRest.xml");
        try {
            runner.run();
        } catch (Exception e) {
            System.out.println(e);
            //e.printStackTrace();
        }
    }
}

我收到以下错误:

 soapUI 4.0.0 TestCase Runner
    11:46:57,736 WARN  [SoapUI] Missing folder [C:\Users\meharkoduri\workspace\soapRest_project\.\ext] for external libraries
    11:46:57,738 INFO  [DefaultSoapUICore] Creating new settings at [C:\Users\meharkoduri\soapui-settings.xml]
    org.apache.xmlbeans.XmlException: Element testCase@http://eviware.com/soapui/config is not a valid soapui-project@http://eviware.com/soapui/config document or a valid substitution.
        at org.apache.xmlbeans.impl.store.Locale.autoTypeDocument(Locale.java:328)
        at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1279)
        at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1263)
        at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:345)
        at com.eviware.soapui.config.SoapuiProjectDocumentConfig$Factory.parse(Unknown Source)
        at com.eviware.soapui.impl.wsdl.WsdlProject.loadProject(WsdlProject.java:314)
        at com.eviware.soapui.impl.wsdl.WsdlProject.<init>(WsdlProject.java:234)
        at com.eviware.soapui.impl.wsdl.WsdlProjectFactory.createNew(WsdlProjectFactory.java:41)
        at com.eviware.soapui.impl.wsdl.WsdlProjectFactory.createNew(WsdlProjectFactory.java:24)
        at com.eviware.soapui.tools.SoapUITestCaseRunner.runRunner(SoapUITestCaseRunner.java:319)
        at com.eviware.soapui.tools.AbstractSoapUIRunner.run(AbstractSoapUIRunner.java:151)
        at sample_RestService.soapUiRest(sample_RestService.java:16)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
        at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
        at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
        at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
        at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
    11:46:59,504 ERROR [SoapUI] An error occured [Failed to load project from file [file:/C:/Users/meharkoduri/SoapRest_exTestCase-1.xml]], see error log for details
    com.eviware.soapui.support.SoapUIException: Failed to load project from file [file:/C:/Users/meharkoduri/SoapRest_exTestCase-1.xml]
        at com.eviware.soapui.impl.wsdl.WsdlProject.loadProject(WsdlProject.java:404)
        at com.eviware.soapui.impl.wsdl.WsdlProject.<init>(WsdlProject.java:234)
        at com.eviware.soapui.impl.wsdl.WsdlProjectFactory.createNew(WsdlProjectFactory.java:41)
        at com.eviware.soapui.impl.wsdl.WsdlProjectFactory.createNew(WsdlProjectFactory.java:24)
        at com.eviware.soapui.tools.SoapUITestCaseRunner.runRunner(SoapUITestCaseRunner.java:319)
        at com.eviware.soapui.tools.AbstractSoapUIRunner.run(AbstractSoapUIRunner.java:151)
        at sample_RestService.soapUiRest(sample_RestService.java:16)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
        at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
        at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
        at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
        at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
    Caused by: org.apache.xmlbeans.XmlException: Element testCase@http://eviware.com/soapui/config is not a valid soapui-project@http://eviware.com/soapui/config document or a valid substitution.
        at org.apache.xmlbeans.impl.store.Locale.autoTypeDocument(Locale.java:328)
        at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1279)
        at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1263)
        at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:345)
        at com.eviware.soapui.config.SoapuiProjectDocumentConfig$Factory.parse(Unknown Source)
        at com.eviware.soapui.impl.wsdl.WsdlProject.loadProject(WsdlProject.java:314)
        ... 29 more
    java.lang.Exception: Failed to load soapUI project file [C:\Users\meharkoduri\SoapRest_exTestCase-1.xml]

注意:我的目标是与JUnit集成。

0 个答案:

没有答案