swagger-api / swagger-codegen

swagger-codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition.
http://swagger.io
Apache License 2.0
17.09k stars 6.03k forks source link

[JAVA]null value in unit test case code #12494

Open ClayGminx opened 1 week ago

ClayGminx commented 1 week ago

issue in English

Summary

I try to generate code by following command,

java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate \
  -i https://petstore.swagger.io/v2/swagger.json \
  -l java \
  -o samples/client/petstore/java

When it done, I open PetApiTest.java, then I saw a piece of test case code,

@Test
public void addPetTest() throws Exception {
    Pet body = null;
    api.addPet(body);

    // TODO: test validations
}

Now, my issue is that I hope the body value shouldn't be null, and I hope the TODO should be completed.

Swagger-codegen version

2.4.43

Suggest a fix/enhancement

It is expected that the unit test code is complete, that is, it can create and initialize different objects, and make assertions.

Additional information: I'm working in a test technology team that provide technology for test engineer. Due to the rise of AI technology, especially the LLM like ChatGPT, my manager wants to introduce the technology to resolve some problems. Now he wants to input a JSON file written in OpenAPI Specification like swagger.json to a tool, then hope that the tool can produce some request data which can be used for calling RESTful API.

Okay. That's all, thank you.

issue in Chinese

Because I'm Chinese, I remain my Chinese issue.

问题概述

我尝试按以下命令生成代码,

java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate \
  -i https://petstore.swagger.io/v2/swagger.json \
  -l java \
  -o samples/client/petstore/java

生成后,我打开PetApiTest.java,看到其中一个测试用例:

@Test
public void addPetTest() throws Exception {
    Pet body = null;
    api.addPet(body);

    // TODO: test validations
}

现在问题是,我希望body值不是null,并且希望TODO代码已经自动写好了。

Swagger-codegen version

2.4.43

Suggest a fix/enhancement

希望单元测试代码是完全的,也就是能够创建和初始化不同的对象,并且做出断言。

micryc commented 1 day ago

Hi @ClayGminx could you translate issue to English ? That would be really helpful 😃

ClayGminx commented 1 day ago

Hi @ClayGminx could you translate issue to English ? That would be really helpful 😃

Sure, I can.