Tom Harris wrote:
> I like to have my tests in a subdirectory for a project, so directory 
> 'foo' would have a subdirectory 'test'. The tests in 'test' should be 
> able to load module foo.py in it's parent directory, with a 
> sys.path.insert(0, '..'). That's the way I did it with unittest anyway. 
> Example below fails unless I insert a '.' instead of '..' into sys.path.
> 
> file 'foo/foo.py':
>     def a(): return 1
> 
> file 'foo/test/test_foo.py':
>     import sys
>     sys.path.insert(0, '..')
>     import foo
> 
>     def test_1():
>        assert foo.a() == 1
> 
> Now I'm quite happy to type import sys; sys.path.insert(0, '.') at the 
> head of all my test files, but am I missing something?

I'm pretty new at this, but here's what I have at the head of all my 
test/test_foo.py files:

     import sys
     sys.path.append('..')

It works. I wonder if inserting it at the 0 spot in the list is the problem 
(as opposed to the end like I'm doing)? The first item in the path list 
appears to be something special as I read the docs.

Michael


_______________________________________________
py-dev mailing list
py-dev@codespeak.net
http://codespeak.net/mailman/listinfo/py-dev

Reply via email to