2016-08-05 37 views
-1

Ich habe eine Testdatei: test_pytest.py:pytest Unicode-Syntax mit '£' Symbol

def test_pytest(): 
    s = '£' 
    assert True 

pytest verwenden, ich habe es wie folgt ausführen: python -m pytest test_pytest.py

Das Ergebnis:

> python -m pytest test_pytest.py 
============================= test session starts ============================= 
platform win32 -- Python 3.5.2, pytest-2.9.2, py-1.4.31, pluggy-0.3.1 
rootdir: c:\temp, inifile: 
collected 0 items/1 errors 

=================================== ERRORS ==================================== 
_______________________ ERROR collecting test_pytest.py _______________________ 
c:\projects\aio-rpc\venv\lib\site-packages\_pytest\python.py:611: in _importtestmodule 
    mod = self.fspath.pyimport(ensuresyspath=importmode) 
c:\projects\aio-rpc\venv\lib\site-packages\py\_path\local.py:650: in pyimport 
    __import__(modname) 
E  File "c:\temp\test_pytest.py", line 3 
E SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xa3 in position 0: invalid start byte 
=========================== 1 error in 0.07 seconds =========================== 

Was gibt?

Beachten Sie, dass die s='£' Kommentierung der Test

+0

Manchmal werden versteckte Zeichen nicht in SO kopiert. Könnten Sie versuchen, den hier angegebenen Code erneut in Ihre Testdatei einzufügen und festzustellen, ob der Fehler weiterhin auftritt? –

+0

Es ist tatsächlich, ich habe versucht, mit vim und Notizblock zu kopieren. Ich schätze, du kannst es nicht an deinem Ende reproduzieren? –

+0

Nein, tut mir leid, ich bin besonders verwirrt, dass das Auskommentieren einen 'SyntaxError' behebt. –

Antwort

0

Dumme mir, meine Vim wurde das Speichern der Datei mit latin1 Codierung statt utf-8 passieren lässt. Durch das Ändern der Codierung der Datei in utf-8 wurde das Problem behoben.