2010-05-13 4 views
2

Django 1.2 (현재 1.2 RC) 프로젝트에서 sorl-thumbnail을 사용하고 있으며 sorl의 기본 단위 테스트 중 4 개의 놀라운 오류가 발생했습니다. 기본적으로 크기가 조정 된 이미지는 모두 단위 테스트에서 예상 한 것보다 1px 짧습니다. 자세한 내용은 아래를 참조하십시오.sorl-thumbnail 단위 테스트가 1 픽셀 씩 실패했습니다.

저는 Python 2.5.1 (r251 : 54863, 2 월 6 2009, 19:02:12) 및 PIL 1.1.6을 사용하여 OSX 10.5.8 (Snow Leopard가 아닌)에서 개발 중입니다.

어떤 생각인가요?

건배 스티브

====================================================================== 
FAIL: test_extension (sorl.thumbnail.tests.fields.FieldTest) 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "/usr/local/django/myprojectnamehere/lib/sorl/thumbnail/tests/fields.py", line 66, in test_extension 
    self.verify_thumbnail((50, 37), thumb, expected_filename) 
    File "/usr/local/django/myprojectnamehere/lib/sorl/thumbnail/tests/base.py", line 92, in verify_thumbnail 
    self.assertEqual(image.size, expected_size) 
AssertionError: (50, 38) != (50, 37) 

====================================================================== 
FAIL: test_thumbnail (sorl.thumbnail.tests.fields.ImageWithThumbnailsFieldTest) 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "/usr/local/django/myprojectnamehere/lib/sorl/thumbnail/tests/fields.py", line 111, in test_thumbnail 
    self.verify_thumbnail((50, 37), thumb, expected_filename) 
    File "/usr/local/django/myprojectnamehere/lib/sorl/thumbnail/tests/base.py", line 92, in verify_thumbnail 
    self.assertEqual(image.size, expected_size) 
AssertionError: (50, 38) != (50, 37) 

====================================================================== 
FAIL: testTag (sorl.thumbnail.tests.templatetags.ThumbnailTagTest) 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "/usr/local/django/myprojectnamehere/lib/sorl/thumbnail/tests/templatetags.py", line 118, in testTag 
    self.verify_thumbnail((90, 67), expected_filename=expected_fn) 
    File "/usr/local/django/myprojectnamehere/lib/sorl/thumbnail/tests/base.py", line 92, in verify_thumbnail 
    self.assertEqual(image.size, expected_size) 
AssertionError: (90, 68) != (90, 67) 
+0

sorl 프로젝트 사이트에서도 공개 문제가 있습니다. http://code.google.com/p/sorl-thumbnail/issues/detail?id=109&colspec=ID%20Type%20Status%20Priority%20Stars%20Owner%20Summary –

+1

이것은 올림이나 내림과 관련이 있습니다. 이미지 프로세싱을 사용하는 자체 유닛 테스트의 경우 대개 맞춤 균등 (플러스/마이너스 마진)을 사용합니다. – Dingle

+0

Dingle에게 감사드립니다 - 그들은 sorl 테스트에 패치를 적용 했습니까? 아니면 sorl 테스트를 모두 건너 뛸까요? –

답변

3

는 여기에 내가이 문제를 해결하는 데 사용되는 해킹. 물론

def monkeypatch_sorl_tests(): 
    from sorl.thumbnail.tests.base import BaseTest 
    from sorl.thumbnail.tests.fields import FieldTest, ThumbnailFieldTest, ImageWithThumbnailsFieldTest 
    def always_pass(*args, **kwargs): 
     pass 
    BaseTest.verify_thumbnail = always_pass 
    FieldTest.test_extension = always_pass 
    ImageWithThumbnailsFieldTest.test_thumbnail = always_pass 
    ThumbnailFieldTest.test_thumbnail = always_pass 

monkeypatch_sorl_tests() 

, 이것은 실행 테스트의 일부를 방지 : 나는 내 자신의 응용 프로그램에 tests.py에 다음을 넣어. 그러나 라이브러리가 다른 시스템에서 테스트되었다고 가정하면 이는 너무 많은 문제가되어서는 안됩니다.

관련 문제