Phpunit farklı makinelerde farklı davranır

0 Cevap php

Benim PHP uygulama için birkaç PHPUnit testleri yazdı. Ben tüm geliştirme dosya sistemini senkronize iki geliştirme makineleri üzerinde çalışıyorum, ve temiz bir svn üzerinde ödeme testler çalışan bir otomatik test sistemi var.

Şimdi, garip bir şey oluyor. Geliştirme makineleri biri Ubuntu linux 10.10, PHP 5.3.3, daha sonra 3.4.14 yükseltilmiş phpunit 3.4.6 çalışır. Ben tek tek her testte phpunit çalıştırdığınızda, tüm testleri geçmek. Ben sadece phpunit --configuration=phpunit.cfg kullanarak, hepsini çalıştırır benim xml yapılandırma dosyası üzerinde phpunit çalıştırdığınızda, son test durumda başarısız olur ve bir Class myClass not found hata döndürdü. Bu sınıf require_once kullanılarak yüklenen bir dosyanın içindedir. Yükseltme phpunit hiçbir fark yaptı.

edit: I have the feeling that the list of files PHP includes using require_once is not reset on my linux box, but the classes are actually lost, that is, it thinks it has already included myclass.php while the class inside is not loaded.

Şimdi, diğer makine Mac OS X Snow Leopard 10.6.5, PHP 5.3.3 ve 3.4.3 phpunit çalışıyor. Ben tek tek orada birim testleri çalıştırırsanız, hiçbir hata sadece linux kutusunda olduğu gibi, ortaya, ama ben xml yapılandırma kullanarak testleri çalıştırdığınızda, herhangi bir hata ya da oluşabilir. Biz de linux 10.4 LTS, PHP 5.2.6 ve 3.4.9 phpunit çalışan bir oto test ortamı var. Ayrıca hiçbir hataları.

Tüm sistemler tam olarak aynı dosyaları kullanın, böylece kaynak kodu veya testlerde hiçbir fark yoktur. Ayrıca phpunit.xml aynıdır.

Ben burada tamamen karanlıkta hissediyorum. Ne sorun ne olabilir anlamaya?

Linux geliştirme makine ve macbook hem de PHP 5.3.3 yayınlanıyor. Otomatik test makinesi 5.2.6 koşuyoruz edilir

0 Cevap