code: func (c *Config) SnapshotT(t TestingT, i ...interface{}) {
  	t.Helper()
  	if t.Failed() {
  		return
  	}
  
  	snapshotName := strings.Replace(t.Name(), "/", "-", -1)
  	err := c.snapshot(snapshotName, i...)
  	if err != nil {
  		if c.fatalOnMismatch {
  			t.Fatal(err)
  			return
  		}
  		t.Error(err)
  	}
  }
docs: // SnapshotT compares the given variable to the its previous value stored on the filesystem.
  // The current test is failed (with error containing a diff) if the values do not match, or
  // if a new snapshot was created.
  //
  // SnapshotT determines the snapshot file automatically from the name of the test (using
  // the t.Name() function). As a result, SnapshotT can be called at most once per test.
  // If you want to call SnapshotT multiple times in a test, if possible, instead collect the
  // values and call SnapshotT with all values at once. Alternatively, use sub-tests and call
  // SnapshotT once in each.
  //
  // If using snapshots in tests, SnapshotT is preferred over Snapshot and SnapshotMulti.