microsoft / microsoft/vscode-java-test

Cannot add command line arguments via java.test.config

Đang mở
#1,297 4 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

ai-triaged enhancement test-configuration test-execution testng
Ngôn ngữ chính
TypeScript
Star
340
Fork
173
Merge trung bình
1 ngày 19 giờ
Pull request đã merge (30 ngày)
18

Mô tả

I'm trying to add listeners when running testNG tests using the Java Test runner.

In my settings.xml I've added:

"java.test.config": {
"name": "RunWithContinue",
"workingDirectory": "${workspaceFolder}",
"args": [
"-listener", "org.test.TestFilter"
]
},

But when I run:

[ERROR] {"name":"error","attributes":{"message":"Failed to run TestNG tests","trace":"java.lang.ClassNotFoundException: -listener
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at com.microsoft.java.test.runner.testng.TestNGLauncher.getClassName(TestNGLauncher.java:53)
at com.microsoft.java.test.runner.testng.TestNGLauncher.parse(TestNGLauncher.java:46)
at com.microsoft.java.test.runner.testng.TestNGLauncher.execute(TestNGLauncher.java:32)
at com.microsoft.java.test.runner.Launcher.main(Launcher.java:57)
"}}

It seems all args are expected to be a Class/Method name, even though it seems to be the only place to pass TestNG command line arguments:

image

Is there a workaround?

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu với stack trace của lỗi trong TestNGLauncher.java, đặc biệt là parse và getClassName, sau đó kiểm tra cách Launcher.java nhận các thiết lập từ java.test.config. Tái hiện trường hợp này với các đối số của TestNG listener được hiển thị. Hoàn tất khi các đối số đã cấu hình được test runner xử lý đúng như dự kiến và cấu hình listener không còn tạo ra ClassNotFoundException.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
java
Lĩnh vực
testing-qa
Loại issue
Lỗi
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.