kevin1024 / vcrpy

Automatically mock your HTTP interactions to simplify and speed up testing

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

`CannotOverwriteExistingCassetteException` when no cassette exists is confusing

The-Compiler opened this issue · comments

A trivial example such as:

import os.path
import urllib.request

import vcr

assert not os.path.exists("doesnotexist.yml")
with vcr.use_cassette("doesnotexist.yml", record_mode="none"):
    urllib.request.urlopen('http://www.iana.org/domains/reserved')

results in:

Traceback (most recent call last):
  [...]
  File "[...]/site-packages/vcr/stubs/__init__.py", line 263, in getresponse
    raise CannotOverwriteExistingCassetteException(
vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette ('doesnotexist.yml') in your current record mode ('none').
No match for the request (<Request (GET) http://www.iana.org/domains/reserved>) was found.
No similar requests, that have not been played, found.

which seems confusing to me: The code failed because no cassette was found, yet the exception name and text claim "Can't override existing cassette".