junit test 报错,java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=esopCreateTes

Posted 乌云de博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了junit test 报错,java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=esopCreateTes相关的知识,希望对你有一定的参考价值。

java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=esopCreateTest], {ExactMatcher:fDisplayName=esopCreateTest(com.cmcc.open.ss.util.EsopSynWebServiceActionTest)], {LeadingIdentifierMatcher:fClassName=com.cmcc.open.ss.util.EsopSynWebServiceActionTest,fLeadingIdentifier=esopCreateTest]] from [email protected]
at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:35)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createFilteredTest(JUnit4TestLoader.java:77)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:68)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

原因---->junit 不能用静态方法,,,static...

 

/*
 * Project: zhejiang-esop-open manager Webapp
 * 
 * File Created at 2017年11月16日
 * 
 * Copyright 2016 CMCC Corporation Limited.
 * All rights reserved.
 *
 * This software is the confidential and proprietary information of
 * ZYHY Company. ("Confidential Information").  You shall not
 * disclose such Confidential Information and shall use it only in
 * accordance with the terms of the license.
 */
package com.cmcc.open.ss.util;

import java.io.IOException;
import java.io.StringWriter;
import java.net.MalformedURLException;
import java.util.LinkedList;
import java.util.List;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceException;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import com.cmcc.open.base.utils.TimeUtil;
import com.cmcc.open.ss.po.FieldInfo;
import com.cmcc.open.ss.po.RecordInfo;
import com.cmcc.open.ss.po.enums.EsopStatusEnums;

/**
 * @Type RPCClient.java
 * @Desc webservice 客户端调用test
 * @author huamao
 * @date 2017年11月16日 上午10:22:28
 * @version 
 */
public class EsopSynWebServiceActionTest {
    
    @Before
    public void setUp() throws Exception {
    }

    @After
    public void tearDown() throws Exception {
    }
    public static String serviceUrl = "http://localhost:8080/open_mssportal/services/hyEsopWebService?wsdl";
    public static String nameSpace = "http://web.mssportal.open.cmcc.com";
    public static String method = "acceptEsop";
 

    //调用方式
    public static Object invokeShaohua() throws Exception {
        String endpoint = serviceUrl;
        Service service = new Service();
        Call call = null;
        try {
            call = (Call) service.createCall();
        } catch (ServiceException e) {
            e.printStackTrace();
        }
        try {
            call.setTargetEndpointAddress(new java.net.URL(endpoint));
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
        call.setOperationName(new QName("http://web.mssportal.open.cmcc.com", "acceptEsop"));

        String retXml = (String) call.invoke(new Object[] { "少华 webservice success" });
        System.out.println(retXml);
        return retXml;
    }

    /**
     * 
     * @param serviceUrl
     * @param nameSpace
     * @param method
     * @param params
     * @param classes
     * @return
     * @throws AxisFault
     */
    @SuppressWarnings("rawtypes")
    public static Object[] invoke(String serviceUrl, String nameSpace, String method,
                                  Object[] params, Class[] classes)
            throws AxisFault {
        //使用RPC方式调用WebService  
        RPCServiceClient client = new RPCServiceClient();
        Options option = client.getOptions();
        //指定调用的URL  
        EndpointReference reference = new EndpointReference(serviceUrl);
        option.setTo(reference);
        /* 
         * 设置要调用的方法 
         * http://ws.apache.org/axis2 为默认的(无package的情况)命名空间, 
         * 如果有包名,则为 http://axis2.webservice.elgin.com ,包名倒过来即可 
         * method为方法名称 
         *  
         */
        QName qname = new QName(nameSpace, method);
        //调用远程方法,并指定方法参数以及返回值类型  
        Object[] result = client.invokeBlocking(qname, params, classes);
        return result;

    }

    @Test
    public static void esopCreateTest() {   //junit测试方法呀,不能加static啊。所以会报错。。去掉就好了。。。
        RecordInfo recordInfoMain = new RecordInfo();
        List<FieldInfo> list = new LinkedList<>();
        //主工单信息
        FieldInfo f1 = new FieldInfo("主题", "title", "新装套餐");
        FieldInfo f2 = new FieldInfo("集团编号", "customNo", "5717333262");
        FieldInfo f3 = new FieldInfo("集团名称", "customName", "boss");
        FieldInfo f4 = new FieldInfo("客户经理", "cManagerContact", "张业华");
        FieldInfo f5 = new FieldInfo("客户经理联系电话", "cManagerContactPhone", "15268521895");
        FieldInfo f6 = new FieldInfo("e55计费号", "mobileNo", "15573265301");
        FieldInfo f7 = new FieldInfo("渠道ID", "chnlId", "");
        FieldInfo f8 = new FieldInfo("集团订购编号", "orderId", "7309427400");
        FieldInfo f9 = new FieldInfo("企业管理员手机号码", "contactMobile", "18867105653");
        FieldInfo f10 = new FieldInfo("企业管理员姓名", "contactName", "乌云");
        FieldInfo f11 = new FieldInfo("企业管理员邮箱", "contactEmail", "[email protected]");
        FieldInfo f12 = new FieldInfo("地市编码", "cityCode", "573");
        FieldInfo f13 = new FieldInfo("县市编码", "areaCode", "573002");
        FieldInfo f14 = new FieldInfo("业务需求描述", "bRequirementDesc", "测试新装");
        FieldInfo f15 = new FieldInfo("开通时间", "beginDate", "2017-12-01");//新装必填
        FieldInfo f16 = new FieldInfo("计费开通时间", "billingDate", "2017-12-01");//新装必填
        //        FieldInfo f17=new FieldInfo("注销时间", "expDate", "");//注销必填
        //        FieldInfo f18=new FieldInfo("操作时间", "doneDate", "");//停复机必填
        list.add(f1);
        list.add(f2);
        list.add(f3);
        list.add(f4);
        list.add(f5);
        list.add(f6);
        list.add(f7);
        list.add(f8);
        list.add(f9);
        list.add(f10);
        list.add(f11);
        list.add(f12);
        list.add(f13);
        list.add(f14);
        list.add(f15);
        list.add(f16);
        recordInfoMain.setFieldInfo(list);
        //子工单信息
        RecordInfo recordInfoSub = new RecordInfo();
        List<FieldInfo> listZ = new LinkedList<>();
        FieldInfo fz1 = new FieldInfo("子工单号", "subSerialNo", "71001206670563");
        FieldInfo fz2 = new FieldInfo("集团订购产品编号", "groupPrdCode", "600000471376");
        FieldInfo fz3 = new FieldInfo("状态", "state", "1");
        FieldInfo fz4 = new FieldInfo("产品生效时间", "prodCycleBillingDate",
                TimeUtil.getCurrentDate(TimeUtil.TIME_FORMAT2_24));
        FieldInfo fz5 = new FieldInfo("产品失效时间", "prodCyclebExpDate", "2099-12-28 15:32:03");
        listZ.add(fz1);
        listZ.add(fz2);
        listZ.add(fz3);
        listZ.add(fz4);
        listZ.add(fz5);
        recordInfoSub.setFieldInfo(listZ);

        // 创建输出流  
        StringWriter swMain = new StringWriter();
        StringWriter swSub = new StringWriter();
        String recordInfoMainStr = "";
        String recordInfoSubStr = "";
        try {
            // 利用jdk中自带的转换类实现  
            JAXBContext context = JAXBContext.newInstance(RecordInfo.class);
            Marshaller marshaller = context.createMarshaller();
            //设置编码
            marshaller.setProperty(Marshaller.JAXB_ENCODING, "GBK");
            //是否要带 <?xml version="1.0" encoding="GBK" standalone="yes"?>
            marshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE);
            // 格式化xml输出的格式  
            marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
            // 将对象转换成输出流形式的xml  
            marshaller.marshal(recordInfoMain, swMain);
            recordInfoMainStr = swMain.toString();
            marshaller.marshal(recordInfoSub, swSub);
            recordInfoSubStr = swSub.toString();
        } catch (JAXBException e) {
            e.printStackTrace();
        }

        String opDetail = "<opDetail>" + recordInfoMainStr + recordInfoSubStr + "</opDetail>";
        String sheetType = EsopStatusEnums.ESOP_OPERATE_CREATE.getCode();
        String req = "{opPerson=系统:CRM访问ESB账号, opTime=20171128153135, sheetType=" + sheetType
                + ", callTime=20171128153135, serSupplier=ZJ_AEP, serCaller=ZJ_BBOSS, serviceType=200, opCorp=杭州移动公司, serialNo=71201711281122554051, callerPwd=, opContact=13957350339, opDepart=12,opDetail="
                + opDetail + "}";
//        req = req.replaceAll("[\\t\\n\\r]", "");//去除换行符
        System.out.println(req);
//        try {
//            Object[] result = invoke(serviceUrl, nameSpace, method, new Object[] { req },
//                    new Class[] { String.class });
//            System.out.println(result[0]);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }

    }
    
}

 









以上是关于junit test 报错,java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=esopCreateTes的主要内容,如果未能解决你的问题,请参考以下文章

使用Junit单元测试报错“No tests found matching Method test01(Test01) from ClassRequest@5387f9e0“

junit报错----java.lang.Exception: No tests found matching

junit test 报错,java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=esopCreateTes

Junit调试错误,在MyEclipse中执行Junit就报错了

报错记录解决Junit测试报错Failed to retrieve PlatformTransactionManager for @Transactional test: [DefaultTest(代

Junit 报错Test class should have exactly one public zero-argument constructor和Test class can only ha(代