Аргумент задачи кода Visual Studio

Я пытаюсь создать некоторые задачи в коде Visual Studio для запуска всех тестов в моем проекте go.

Обычно я выполняю тесты в командной строке, используя:

go test ./...

В коде Visual Studio мой файл tasks.json выглядит так:

{
    "version": "0.1.0",
    "command": "go",

    "tasks": [
        {
            "taskName": "build",
            "isBuildCommand": true
        },
        {
            "taskName": "test",
            "isTestCommand": true,
            "args": ["./..."]
        }
    ]
}

Итак, сборка работает нормально (CTRL + SHIFT + B)

Но при попытке запустить тесты (CTRL+SHIFT+T) возникает следующая ошибка:

go: unknown subcommand "./..."

Кажется, он пропускает параметр «тест», но когда я комментирую аргументы, он работает, и тест проходит нормально.

Любые идеи?


person Mattl    schedule 09.10.2015    source источник
comment
Похоже, он не получает тестовый аргумент. Можете ли вы проверить фактическую команду, которая выполняется?   -  person JimB    schedule 09.10.2015
comment
Без аргументов запускается go test. С заданными аргументами он запускается go ./....   -  person Mattl    schedule 09.10.2015
comment
Я полагаю, вам нужно ["test", "./..."].   -  person JimB    schedule 09.10.2015
comment
Это еще одна странная вещь: добавление теста к аргументам, как указано выше, возвращает не может загрузить пакет: тест пакета: не удается найти тест пакета   -  person Mattl    schedule 09.10.2015
comment
Обратное задание и аргументы для взлома.   -  person GJSmith3rd    schedule 13.10.2015


Ответы (1)


ЭТО МОЖЕТ БЫТЬ ОШИБКА


Обратные аргументы и задачи VSCode с версии 0.8.0

Это может быть ошибка, которая все еще сохраняется в более новых версиях. Начиная с версии 0.9.1 у меня не было возможности протестировать. До версии 0.9.1 по крайней мере один хак работал, меняя задачу и ее аргумент, как в следующем примере:

{
"version": "0.1.0",
"command": "go",

"tasks": [
    {
        "taskName": "build",
        "isBuildCommand": true
    },
    {
        "taskName": "./...",
        "isTestCommand": true,
        "args": ["test"]
    }
  ]
}

Трудно поверить, что это все еще сохранялось до версии 0.8.0, поэтому может быть предпочтительное решение, которое я не обнаружил.

Вот ссылка на предыдущий пост, посвященный аналогичной проблеме:

Определение нескольких задач в VSCode

Прокрутите вниз до моего ответа для получения дополнительных объяснений.

person GJSmith3rd    schedule 13.10.2015