2016-06-29 3 views
0

실제로 Odoo의 문서 덕분에 내가 만든 단위 테스트를 실행하려고합니다.ODOO [V8] 단위 테스트

나는이처럼 내 모듈을 내장했습니다

module_test 
- __init__.py 
    __openerp.py__ 
... 
- tests 
    __init__.py 
    test_1.py 

내부 'module_test/테스트/초기화 평가'나는 '수입 test_1 " 내부'module_test/테스트/test_1가 않습니다. py ", 나는 가지고있다 :"import tests + 필자가 작성한 테스트 시나리오. 그런 다음

나는 서버를 실행하는 명령 줄을 실행, 나는 추가 : 모듈을 업데이트 할 '-u module_test --log 수준은 = 테스트 --test 활성화'및 테스트가

을 실행 활성화 쉘 리턴 : "모든 후 테스트는 0.00, 0 개의 쿼리". 사실 테스트는 실행되지 않습니다.

그런 다음 구문 오류가 추가되어 서버에서 파일을 컴파일 할 수 없지만 셸은 같은 문장을 반환했습니다. 파일이 무시되고 서버가 내 파일을 컴파일하려고하지 않는 것 같습니다 ... 이유를 모르겠습니까?

일부 'Odoo'소스 모듈을 확인했습니다. 예를 들어 '판매'입니다. 판매 테스트를 실행하려고 시도했지만 쉘에서 이전과 같은 값을 반환했습니다. 판매 테스트에서 구문 오류를 추가했으며 쉘이 동일한 값을 다시 반환했습니다.

이 예기치 않은 동작에 대해 누구나 생각할 수 있습니까?

+0

당신은 데이터베이스 이름을 지정 함 : 예를 들어 , ./odoo.py -d DB_NAME -i module_test --test 활성화 –

+0

정확한 명령 줄은 다음과 같습니다 '파이썬/.../openerp-server --config = ... -d db_name -u module_to_update --log-level = 테스트 - 테스트 - 사용 '그래, 그래! – Florian

답변

1

당신은 테스트 클래스에 대한 post_install 데코레이터를 사용하여 시도해야합니다 :

예 :

from openerp.tests import common 

@common.post_install(True) 
class TestPost(common.TransactionCase): 

    def test_post_method(self): 
     response = self.env['my_module.my_model'].create_post('hello') 
     self.assertEqual(response['success'], True) 

이 테스트가 빠르게 모듈을 업데이트하지 않고 수행 할 수 있도록하기 위해, 당신이 테스트를 실행 할 수 있어야한다

없이

-u module_test

당신이 사용하는 경우

--load = module_test

내가 그 odoo 테스트 문서는 정말 나쁜 인정해야한다. 단위 테스트를 odoo에서 수행하는 방법을 알아 내는데 일주일이 걸렸습니다. 서버를 다시 시작하면서