如何使用 VSCode 执行没有 main 方法的 java 程序?

问题描述 投票:0回答:1

我想使用 selenide 工具调试一个没有 main 方法的 java 程序。我可以从命令行运行该程序,没有任何问题,但是当我尝试使用 VSCode 调试它时,它会输出

文件“Weather.java”不可执行。请选择您要运行的主班。

有没有办法在不使用 main 方法的情况下调试我的程序?”

天气.java

package com.example.app;

import static com.codeborne.selenide.Selenide.*;
// import static com.codeborne.selenide.Condition.*;
// import static com.codeborne.selenide.Selectors.*;
import com.codeborne.selenide.Configuration;
import com.codeborne.selenide.WebDriverRunner;
// import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvFileSource;


class Weather {
  @ParameterizedTest
  @CsvFileSource(resources = "Weather.csv", numLinesToSkip = 1)
  void openWeather(String ward) {
    String area = System.getProperty("area");

    Configuration.browser = WebDriverRunner.CHROME;
    // Configuration.headless = true;

    // Googleトップページ
    open("https://www.google.co.jp/");

    // "天気"を検索
    $("input[type=text]").val("天気").pressEnter();

    // Youtube検索ページへ飛ぶ
    $x("//a[@href='https://weather.yahoo.co.jp/weather/jp/13/4410/13120.html']").click();

    $("#searchText").setValue(area);
    $("#yjw_button_search").click();
    $x("//a[text()= '" + ward + "']").click();

  }
}


launch.json

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "java",
      "name": "Debug (Launch) - Current File",
      "request": "launch",
      "mainClass": "${file}",
      "preLaunchTask": "Run Test"
    }
  ]
}

tasks.json

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Run Test",
      "type": "shell",
      "command": "mvn test -Dtest=Weather -Darea=\"東京\"",
      "problemMatcher": []
    }
  ]
}

当前版本如下:

  • 硒化物:5.5.2
  • VS代码:1.41.0
  • junit:5.3.2
  • 阿帕奇Maven:3.6.0
java maven junit visual-studio-code selenide
1个回答
0
投票

使用 Visual Studio Code 的 Java 扩展运行测试只需单击资源管理器(文件)图标,然后展开 测试资源管理器 选项,向下探索到要运行的任何测试,右键单击,然后然后选择您的测试选项。无需使用

launch.json file
来执行此操作。

© www.soinside.com 2019 - 2024. All rights reserved.