Package testutils defines utilities for using loader.Packages in tests.
The main utility is LoadFakeRoots, which allows writing of fake modules to the local filesystem, then loading those from within a Ginkgo test. If not using Ginkgo, you can reproduce similar logic with loader.LoadWithConfig and go/packages/packagestest.
LoadFakeRoots loads the given "root" packages by fake module, transitively loading and all imports as well.
Loaded packages will have type size, imports, and exports file information populated. Additional information, like ASTs and type-checking information, can be accessed via methods on individual packages.