What I do for docs and benchmarks is create a dedicated Project.toml at the root of the subfolder, in which I pkg> dev the main package. The case of testing is a bit peculiar, and I prefer to use extras for that (see here why, although that might be fixed soon).
In the long run, you probably want to follow this GitHub issue, which describes exactly what we both seem to dream of:
 I created a ./benchmark/Project.toml with the corresponding dependancies.
 All benchmark dependancies are included as [extras] in the main package Project.toml.
 I then activate ./benchmark/Project.toml
 I then pkg> dev the main package
However this last step creates ./benchmark/Manifest.toml which I don’t think should be there. Is this typical? Do I simply apply a gitignore to ./benchmark/Manifest.toml when syncing with the repository?