Home > Backend Development > Golang > How to tell Gazelle that go files are for go_default_test instead of go_default_library?

How to tell Gazelle that go files are for go_default_test instead of go_default_library?

WBOY
Release: 2024-02-08 22:24:10
forward
503 people have browsed it

如何告诉瞪羚 go 文件适用于 go_default_test 而不是 go_default_library?

php editor Apple will introduce you how to tell Gazelle go files to apply to go_default_test instead of go_default_library. In Go language, Gazelle is a powerful build tool for organizing and building Go projects. By default, Gazelle treats all files ending with _test.go as test files and includes them in go_default_test. However, sometimes we want to exclude certain test files from go_default_test and include them in other targets, such as go_default_library. So, how to achieve this? Next, we will give you detailed answers.

Question content

I have a file embed_testdata.go that is intended for testing but has no tests itself (so I don't want to use _test.go as suffix). How do I tell gazelle that it is indeed a test source and not a production source?

FYI, just adding it to go_default_test and removing it from go_default_library won't work because gazelle will undo that manually edit.

Solution

https://www.php.cn/link/9877c66299c5b98d81fed12827d87e4b are all valid ngazelle instructions.

There are no specific instructions telling it to treat non-_test.go files as tests, but there are two that can be used to this effect, exclude and keep

# gazelle:exclude embed_testdata.go
…
go_test(
    name = "go_default_test",
    srcs = [
        "embed_testdata.go",  # keep
…
Copy after login

When embedding the file system, you also need content similar to the following:

go_test(
    name = "go_default_test",
…
    embedsrcs = glob(["testdata/**"]), # keep
…
Copy after login

The above is the detailed content of How to tell Gazelle that go files are for go_default_test instead of go_default_library?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:stackoverflow.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template