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

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

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:

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

I have a data provider written in groovy:

The groovy file is under:
src/test/groovy

  1. package dataProviders.singleOrder;
  2. public class NOSDataProvider implements OrderTypeAndTIF {
  3. @DataProvider(name="nosDataProvider")
  4. @Override
  5. public Object[][] getNOSParameters() {
  6. def values = []
  7. char[] sideArray = {};
  8. char[] tifArray = {};
  9. char[] orderTypeArray = {};
  10. for (Side side : [Side.BUY, Side.SELL, Side.SELL_SHORT]) {
  11. for (TimeInForce tif : [TimeInForce.DAY, TimeInForce.IMMEDIATE_OR_CANCEL, TimeInForce.FILL_OR_KILL]) {
  12. for (OrdType orderType : [OrdType.LIMIT, OrdType.MARKET]) {
  13. values.add(side, tif, orderType);
  14. }
  15. }
  16. }
  17. return values;
  18. }
  19. }

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

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

  1. package testcases.testNOS;
  2. import dataProviders.singleOrder.NOSDataProvider;
  3. @Test(dataProvider = "nosDataProvider", dataProviderClass = NOSDataProvider.class)
  4. public void testNOS(char side, char tif, char orderType) throws InterruptedException, SessionNotFound {
  5. NewOrderSingle nos = new NewOrderSingle(new ClOrdID("1"), new HandlInst('1'),
  6. new Symbol("TCS.NS"), new Side(side), new OrderQty(100.0),
  7. new OrdType(orderType));
  8. nos.set(new TimeInForce(tif));
  9. }
英文:

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

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

I have a data provider written in groovy:

The groovy file is under:
src/test/groovy

  1. package dataProviders.singleOrder;
  2. public class NOSDataProvider implements OrderTypeAndTIF {
  3. @DataProvider(name="nosDataProvider")
  4. @Override
  5. public Object[][] getNOSParameters() {
  6. def values = []
  7. char[] sideArray = {};
  8. char[] tifArray = {};
  9. char[] orderTypeArray = {};
  10. for (Side side : [Side.BUY, Side.SELL, Side.SELL_SHORT]) {
  11. for (TimeInForce tif : [TimeInForce.DAY, TimeInForce.IMMEDIATE_OR_CANCEL, TimeInForce.FILL_OR_KILL]) {
  12. for (OrdType orderType : [OrdType.LIMIT, OrdType.MARKET]) {
  13. values.add(side, tif, orderType);
  14. }
  15. }
  16. }
  17. return values;
  18. }
  19. }

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

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

  1. package testcases.testNOS;
  2. import dataProviders.singleOrder.NOSDataProvider;
  3. @Test(dataProvider = "nosDataProvider", dataProviderClass = NOSDataProvider.class)
  4. public void testNOS(char side, char tif, char orderType) throws InterruptedException, SessionNotFound {
  5. NewOrderSingle nos = new NewOrderSingle(new ClOrdID("1"), new HandlInst('1'),
  6. new Symbol("TCS.NS"), new Side(side), new OrderQty(100.0),
  7. new OrdType(orderType));
  8. nos.set(new TimeInForce(tif));
  9. }

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:

确定