Какъв е начинът да тествам моите пакети в работна среда. Ако напиша единичен тест, тогава никакви класове не се зареждат автоматично. Така че това означава, че:
<?php
use \Mockery as m;
class ExampleTest extends TestCase {
public function tearDown()
{
m::close();
}
/**
* A basic functional test example.
*
* @return void
*/
public function testShouldReturnValidServer()
{
$mock = m::mock('MailChimp[sendCurl]');
MailChimp::listSubscribe( array( 'id' => 'c79a023ff2', 'email_address' => '[email protected]'));
}
}
води до грешка, която казва, че класът TestCase не е намерен. Когато добавя клас TestCase към автоматичното зареждане в моя composer.json (този в моята папка с пакети), класът е наличен. След това обаче получавам следващата грешка, че „Illuminate\Foundation\Testing\TestCase“ не е наличен и т.н. и т.н. Въпросът ми е какво трябва да заредя автоматично в моя composer.json в моята папка с пакети? Всичко точно като в моя основен composer.json или има някакъв друг начин, който ми липсва.
Знам, че в ръководството пише "
Можете да git init от директорията workbench/[vendor]/[package] и git да избута вашия пакет направо от workbench! Това ще ви позволи удобно да разработите пакета в контекст на приложение, без да бъдете затънали в постоянни команди за актуализиране на композитора.
Аз обаче не разбирам това. Може ли някой да обясни какво се има предвид с това? Между другото съм запознат с git. Просто не разбирам контекста.
РЕДАКТИРАНЕ1 Доколкото разбирам сега, вие изпращате пакета си във вашето хранилище и след това го включвате във вашия основен composer.json като пакет. Просто не виждам как това е полезно при разработването. Надявам се, че разбирам това погрешно.. :)
EDIT2 Сгреших. Дръжте пакета си в работната маса, докато се стабилизира. Точно както Нилс посочи по-долу. Въпросът все още остава. Как да създам среда, в която мога да тествам модул със стартирано приложение. Имам предвид като тестване на модел, където мога да се подигравам на фасадите и т.н. Или правенето на това в работната маса е лоша практика?
workbench
) да бъде под контрол на версиите, но отделен отcomposer
. Така че, ако използвате git, можете да направитеgit push
във вашияworkspace
. Вашият пакет няма да се показва вcomposer.json
, но може да се инсталира във вашата система. - person Nils Werner   schedule 04.06.2013