Tôi đã theo dõi Symfony documentation về các bài kiểm tra chức năng để viết bài kiểm tra đầu tiên, nhưng tôi có một số vấn đề. Các phản ứng tôi nhận được thông qua trình duyệt hoạt động tốt:Kiểm tra chức năng của Symfony không thành công nhưng yêu cầu tương tự cũng hoạt động trong trình duyệt
Nhưng khi tôi chạy phpunit -c app/
trong vỏ tôi nhận được một thất bại.
1) AppBundle \ thử nghiệm \ khiển \ MeterAPIControllerTest :: testGetAllVariables Không khẳng định rằng 500 trận đấu dự kiến 200.
Đây là mã:
<?php
namespace AppBundle\Tests\Controller;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
class MeterAPIControllerTest extends WebTestCase
{
public function testGetAllVariables()
{
$client = static::createClient();
$crawler = $client->request(
'GET',
'/meters/121/120/variables'
);
// Assert a specific 200 status code
$this->assertEquals(200, $client->getResponse()->getStatusCode());
}
}
Nếu tôi cố gắng khác kiểm tra khẳng định, tôi nhận được thất bại quá.
// Assert that the "Content-Type" header is "application/json"
$this->assertTrue(
$client->getResponse()->headers->contains(
'Content-Type',
'application/json'
)
);
EDIT
Khi tôi chạy phpunit
trong app/logs/test.log
tôi nhận được một ngoại lệ PHP:
[2016/03/31 15:25:21] request.CRITICAL: của router PHP Ngoại lệ Học thuyết \ Common \ Persistence \ Mapping \ MappingException: "Ánh xạ không hợp lệ tệp 'AppBundle.Entity.EM2Meter.orm.yml' cho lớp 'AppBundle \ Entity \ EM2Meter'." tại /Applications/MAMP/htdocs/iso50k1_tst_symfony/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/MappingException.php dòng 86 {"ngoại lệ": "[đối tượng] (Học thuyết \ Phổ biến \ Persistence \ Ánh xạ \ MappingException (mã: 0): Tệp ánh xạ không hợp lệ 'AppBundle.Entity.EM2Meter.orm.yml' cho lớp 'AppBundle \ Entity \ EM2Meter'. Tại /Applications/MAMP/htdocs/iso50k1_tst_symfony/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/MappingException.php: 86) "} []
Làm cách nào để khắc phục sự cố này?
bạn có chắc bạn yêu cầu vào cổng có đúng không? – DevDonkey
@DevDonkey Có, yêu cầu là chính xác. – Francesco
bạn có chắc chắn không? Tôi nghĩ rằng bạn sẽ thấy rằng trừ khi bạn chỉ định khi bạn khởi tạo một khách hàng mới, nó sẽ mặc định là cổng 80. – DevDonkey