मैंने अपना पहला लिखने के लिए कार्यात्मक परीक्षणों के बारे में Symfony documentation का पालन किया, लेकिन मेरे पास कुछ समस्याएं हैं। प्रतिक्रिया मैं ब्राउज़र के माध्यम से मिलता है अच्छा काम करता है:सिम्फनी कार्यात्मक परीक्षण विफल रहता है लेकिन उसी अनुरोध ब्राउज़र में काम करता है
लेकिन जब मैं खोल में phpunit -c app/
चलाने मैं एक विफलता मिलता है।
<?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());
}
}
अगर मैं एक और कोशिश:
1) AppBundle \ टेस्ट \ नियंत्रक \ MeterAPIControllerTest :: testGetAllVariables जोर देते हुए 500 मैचों की उम्मीद है कि 200.
इस कोड है विफल परीक्षण दावा, मुझे भी विफलता मिलती है।
// Assert that the "Content-Type" header is "application/json"
$this->assertTrue(
$client->getResponse()->headers->contains(
'Content-Type',
'application/json'
)
);
संपादित
जब मैं app/logs/test.log
में phpunit
चलाने मैं एक PHP अपवाद प्राप्त करें:
[2016/03/31 15:25:21] request.CRITICAL: Uncaught पीएचपी अपवाद सिद्धांत \ सामान्य \ दृढ़ता \ मैपिंग \ मैपिंग अपवाद: " 'एपबंडल \ Entity \ EM2Meter' वर्ग के लिए अवैध मैपिंग फ़ाइल 'AppBundle.Entity.EM2Meter.orm.yml' फ़ाइल।" /एप्लिकेशन/एमएएमपी/एचटीडीओक्स/आईएसओ 50k1_tst_symfony/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/MappingException.php लाइन 86 {"अपवाद": "[ऑब्जेक्ट] (सिद्धांत \ सामान्य \ दृढ़ता \ मैपिंग \ मैपिंग अपवाद (कोड: 0): कक्षा 'एपबंडल \ Entity \ EM2Meter' के लिए अमान्य मैपिंग फ़ाइल 'AppBundle.Entity.EM2Meter.orm.yml' /अनुप्रयोग/एमएएमपी/htdocs/iso50k1_tst_symfony/विक्रेता/सिद्धांत/आम/lib/सिद्धांत/आम/हठ/मानचित्रण/MappingException.php: 86) "} []
कैसे मैं इसे ठीक कर सकते हैं?
हैं आप सुनिश्चित करें कि आपके सही बंदरगाह के लिए अनुरोध कर रहा? – DevDonkey
@DevDonkey हां, अनुरोध सही है। – Francesco
क्या आप निश्चित हैं? मुझे लगता है कि आप पाएंगे कि जब तक आप एक नए क्लाइंट को तुरंत चालू नहीं करते हैं, तो यह पोर्ट 80 के लिए डिफ़ॉल्ट होगा। – DevDonkey