2016-03-23 11 views
-1

SORU

Ben Wordpress eklenti için yasasındaki değişiklik testi yazmaya çalışıyorum “dahil”.PHP - SimpleTest - nasıl test edilir sınıflar

<?php 
require_once('.\simpletest\autorun.php'); 
require_once('.\wp-content\plugins\appointment-booking\includes.php'); 
// The line above causes [No runnable test cases in...] problem. 
// In my actual code, I have absolute path and I've made sure that the path is correct. 

class test extends UnitTestCase 
{ 
function test_pass() 
{ 
    $this->assertFalse(false); 
} 
} 
?> 

Lütfen nedenini ve nasıl düzeltileceğini anlamama yardımcı olun. yorumunda belirtildiği gibi , ikinci Require_once Örneğin [içinde ... Hiçbir katedilebilen test durumları]

hata neden olur:

Bad TestSuite [test.php] with error [No runnable test cases in [test.php]] 

Ben Kötü TestSuite hatasını göremez bekliyoruz. İkinci require_once yorumlandığında, testi yapabilmeyi beklerim.

Burada açıklanan bu tam sorunu görüyorum: PHP - Simpletest - How to test "included" classes, ancak sorunu veya nasıl düzeltileceğini anlamıyorum. Teşekkür ederim.

CEVAP 3/25/2016

ben "beklemede" statüsünün kapalı alınacak bu soruyu alamadı ve soruyu cevaplamak için bir yol bulamadı beri. Bunun yerine çözümü burada yazıyorum. Vincent'ın cevabından Vincent'ın cevabından get_home_path() nedenini bulmam için bana yardımcı oldu, bu yüzden teknik olarak olmasa da cevap olarak işaretledim. Kodumda kullanmaya çalıştığımda, yapamadım - işlev adı ve ABSPATH, vs. tanımlanmadı. Nedeni, WordPress'in bir parçası olarak görülmemesi.

Ayrıca https://stackoverflow.com/a/27514259/5885721 bulundu arıyor Ve ayıklama istediğim WordPress dosya bu kodu Böylece

<?php if (! defined('ABSPATH')) exit; // Exit if accessed directly 

vardı içerir etmek olduğunu gördük gerektiren fonksiyonu ran edildiğinde, her şeyi durdurdu, bu yüzden ve herhangi bir test bulundu . , Düzeltmek yerine ikinci Require_oncenin

require(dirname(__FILE__) . '/wp-blog-header.php'); 

ekleyip ABSPATH düzgün ayarlanmış olacak ve ben WordPress API ve eklentinin kod kullanmaya test durumları yazabilir belirleyin.

+0

Eğer Hata ile, sizin KUS güncelleyebilirsiniz. –

cevap

0

Mutlak yol kullanmak tehlikeli. Sen kullanabilirsiniz:

require_once(get_home_path() .'wp-content\plugins\appointment-booking\includes.php'); 

(Windows ortamında bulunuyorsanız)

+0

Doğru cevap değil, ama get_home_path() cevap almak için bana yardımcı oldu, böylece cevap olarak işaretlendi ve çözümü soruna koydu. – mysti9uemirage