调用在Java中编写的TestNG测试用例中的Groovy函数

huangapple 未分类评论58阅读模式
英文:

Calling groovy functions from TestNG test case written in Java

问题

The issue that I am facing is with import of the groovy package. The build error is:

error: package dataProviders.singleOrder does not exist
import dataProviders.singleOrder.NOSDataProvider;

I have a data provider written in groovy:

The groovy file is under:
src/test/groovy

package dataProviders.singleOrder;

public class NOSDataProvider implements OrderTypeAndTIF {
    @DataProvider(name="nosDataProvider")
    @Override
    public Object[][] getNOSParameters() {
        def values = []
        char[] sideArray = {};
        char[] tifArray = {};
        char[] orderTypeArray = {};

        for (Side side : [Side.BUY, Side.SELL, Side.SELL_SHORT]) {
            for (TimeInForce tif : [TimeInForce.DAY, TimeInForce.IMMEDIATE_OR_CANCEL, TimeInForce.FILL_OR_KILL]) {
                for (OrdType orderType : [OrdType.LIMIT, OrdType.MARKET]) {
                    values.add(side, tif, orderType);
                }
            }
        }
        return values;
    }
}

The Java files are under:
src/test/java/

The Data Provider is injected in the TestNG test case as:

package testcases.testNOS;

import dataProviders.singleOrder.NOSDataProvider;

@Test(dataProvider = "nosDataProvider", dataProviderClass = NOSDataProvider.class)
public void testNOS(char side, char tif, char orderType) throws InterruptedException, SessionNotFound {
    NewOrderSingle nos = new NewOrderSingle(new ClOrdID("1"), new HandlInst('1'),
            new Symbol("TCS.NS"), new Side(side), new OrderQty(100.0),
            new OrdType(orderType));
    nos.set(new TimeInForce(tif));
}
英文:

The issue that I am facing is with import of the groovy package. The build error is:

error: package dataProviders.singleOrder does not exist
import dataProviders.singleOrder.NOSDataProvider;

I have a data provider written in groovy:

The groovy file is under:
src/test/groovy

package dataProviders.singleOrder;

public class NOSDataProvider implements OrderTypeAndTIF {
    @DataProvider(name="nosDataProvider")
    @Override
    public Object[][] getNOSParameters() {
        def values = []
        char[] sideArray = {};
        char[] tifArray = {};
        char[] orderTypeArray = {};

        for (Side side : [Side.BUY, Side.SELL, Side.SELL_SHORT]) {
            for (TimeInForce tif : [TimeInForce.DAY, TimeInForce.IMMEDIATE_OR_CANCEL, TimeInForce.FILL_OR_KILL]) {
                for (OrdType orderType : [OrdType.LIMIT, OrdType.MARKET]) {
                    values.add(side, tif, orderType);
                }
            }
        }
        return values;
    }
}

The Java files are under:
src/test/java/

The Data Provider is injected in the TestNG test case as:

package testcases.testNOS;

import dataProviders.singleOrder.NOSDataProvider;

    @Test(dataProvider = "nosDataProvider", dataProviderClass = NOSDataProvider.class)
    public void testNOS(char side, char tif, char orderType) throws InterruptedException, SessionNotFound {
        NewOrderSingle nos = new NewOrderSingle(new ClOrdID("1"), new HandlInst('1'),
                new Symbol("TCS.NS"), new Side(side), new OrderQty(100.0),
                new OrdType(orderType));
        nos.set(new TimeInForce(tif));
   }

huangapple
  • 本文由 发表于 2020年3月15日 23:18:32
  • 转载请务必保留本文链接:https://java.coder-hub.com/60694395.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定