Zend Framework ile Dosya Yükleme ve Birim Test

1 Cevap php

Nasıl bir iyi Zend_Test_PHPUnit_ControllerTestCase kullanarak bir dosya upload alan bir denetleyicisi eylem test edebilirsiniz?

İdeal olarak, $ this-> getRequest () -> setPost () veri dizisindeki bir dosya adı alacaktı, ancak bu desteklenmeye görünmüyor.

I / bootstrap komut satırında benim uygulamayı çalıştırmak ve ön denetleyicisi geçmek için bir istek nesnesi oluşturmak için bu aşamada istekli olacaktır. Bu Zend_Test_PHPUnit_ControllerTestCase atlamak istiyorum, ama ben sonradan dosyası bu-> gönderme ('/ some / url') ControllerTestCase bir sonraki $ aracılığıyla düzgün tarih olduğunu kontrol edebilir. Ancak, ben de bu yöntemi kullanarak istek nesnesine bir dosya almak için nasıl olarak stumped.

Ben hemen denemek için düşünebilirsiniz tek şey app (APPLICATION_ENV = 'test') işaret komut satırı üzerinden bir HTTP sunucusu getirmek ve zerdüştlerin Http Client veya CURL falan üzerinden dosya yükleme yapmaktır. Bu çok şık olarak beni gelmedi.

Başkasının bu konu ile uğraşmak zorunda kaldı?

Teşekkürler!

1 Cevap

Ben Zend_File_Transfer bileşeninden unit tests bir göz alarak öneriyoruz. Onlar bu içine bazı bilgiler sunmak mümkün olacak.

Temel olarak, $_FILES setUp() birim testleri doğrudan superglobal işleyebilirsiniz. Sonraki, aksi takdirde gerçekten birim test, ama entegrasyon test değil, hizmetin herhangi bir harici tür için sahte nesneleri kullanın.

Ben dosyayı yüklemeden gerçek süreci test dert olmaz. Bu web sunucusu ve dil bölge var; önemli olan düzgün bir (veya hiç) ile ne testi olduğunu dosyası aldı.

Ancak, bu tüm how şu anda dosya yükleme işlemlerini gerçekleştiriyoruz bağlıdır. Eğer dosya yüklemeleri işleyebilir nasıl biraz daha fazla ayrıntı verilmedi, ben daha önerileri sunmak mümkün olabilir.