<p>
  <code
    >Dictionary of strings; optional; values are subject to
    <a href="${link make-variables#location}">$(location)</a> and
    <a href="${link make-variables}">"Make variable"</a> substitution</code
  >
</p>

<p>
  Specifies additional environment variables to set when the test is executed by
  <code>bazel test</code>.
</p>

<p>
  This attribute only applies to native rules, like <code>cc_test</code>,
  <code>py_test</code>, and <code>sh_test</code>. It does not apply to
  Starlark-defined test rules. For your own Starlark rules, you can add an "env"
  attribute and use it to populate a

    <a href="/rules/lib/testing#TestEnvironment">TestEnvironment</a>
  
  Provider.
</p>
