Testen
Testen
嫩Da我们更多和更多Funktionalitat在死Anwendung einbauen,现在是wahrscheinlich der richtige Zeitpunkt嗯超级das Testen祖茂堂说。
有趣的事实:我有贝姆写作der测试diesem Kapitel杯Fehler gefunden。
ob娱乐下载Symfony setzt贝PHPUnit)单元测试再见。小姑娘es爹妈installieren:
1
美元ob娱乐下载symfony作曲家点播phpunit) - dev
单元测试写作
SpamChecker
是奥地利第一储蓄Klasse死去,皮毛死我们测试写作了。Generiere杯单元测试:
1
美元ob娱乐下载symfony控制台:测试TestCase SpamCheckerTest
Das Testen des SpamCheckers这Herausforderung, da我们死Akismet-API sicherlich不standig aufrufen构想。我们的死API乔汉纳(simulieren)。
Lasse爹妈杯ersten测试毛皮窝下跌事实dass死API杯Fehler zuruckgibt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17日18 19 20 21日22日23日24日25日26日27 28 29 30 31
- - - /测试/ SpamCheckerTest.php+ + + b /测试/ SpamCheckerTest.php@@ 2,12 + 2,26 @@名称空间的应用程序\测试;+使用App \实体\评论;+使用App \ SpamChecker;使用PHPUnit) \ Framework \ TestCase;+使用Syob娱乐下载mfony \ \ HttpClient \ MockHttpClient组件;+使用Syob娱乐下载mfony \组件\ HttpClient \ \ MockResponse反应;+使用Syob娱乐下载mfony \ \ HttpClient \ ResponseInterface合同;类SpamCheckerTest扩展TestCase {——公共职能testSomething():空白+公共职能testSpamScoreWithInvalidRequest():空白{- $ this - > assertTrue(真正的);+ $ = new评论评论();+ $评论- > setCreatedAtValue ();+ $上下文= [];++ $客户=新MockHttpClient([新MockResponse(“无效”,(“response_headers”= > [x-akismet-debug-help:无效的键的]])));+ $检查=新SpamChecker(客户美元,'中的');++ $ this - > expectException (\ RuntimeException::类);+ $ this - > expectExceptionMessage('无法检查垃圾邮件:无效(无效键)。”);+ $检查器- > getSpamScore(评论,上下文美元);}}
死MockHttpClient
-Klasse ermoglicht, jeden beliebigen http服务器祖茂堂simulieren。将一张Reihe冯MockResponse
-Instanzen benotigen,死穴erwarteten身体和死响应头enthalten。
Anschließend响彻我们死getSpamScore ()
方法和uberprufen汪汪汪,麻省理工学院帮助火线expectException ()
方法·冯·PHPUnit) ob一张Ausnahme ausgelost将。
来自Fuhre模测试,嗯sicherzustellen,您erfolgreich信德:
1
美元ob娱乐下载symfony php bin / phpunit)
Lasst爹妈测试毛穴愉快路径hinzufugen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17日18 19 20 21日22日23日24日25日26日27 28 29 30 31 32 33 34 35
- - - /测试/ SpamCheckerTest.php+ + + b /测试/ SpamCheckerTest.php@@ -24、4 + 24、32 @@类SpamCheckerTest扩展TestCase $ this - > expectExceptionMessage(“无法检查垃圾邮件:无效(无效键)。”);$检查器- > getSpamScore(评论,上下文美元);}++ / * *+ * @dataProvider getComments+ * /+公共职能testSpamScore (int expectedScore美元,美元ResponseInterface响应,评论评论,美元数组$上下文)+ {+ $客户=新MockHttpClient([$响应]);+ $检查=新SpamChecker(客户美元,'中的');++ $得分= $检查器- > getSpamScore(评论,上下文美元);+ $ this - > assertSame (expectedScore美元,美元的分数);+}++公共职能getComments (): iterable+ {+ $ = new评论评论();+ $评论- > setCreatedAtValue ();+ $上下文= [];++ $ = new MockResponse (“[' response_headers ' = > [x-akismet-pro-tip:丢弃的]]);+“blatant_spam”= >[2,反应,美元美元评论,美元背景);++ $响应=新MockResponse(“真正的”);+“垃圾邮件”= >[1美元反应评论美元,美元背景);++ $响应=新MockResponse('错误');+“火腿”= >[0,反应,美元评论,美元背景);+}}
Der PHPUnit)数据提供商ermoglicht es爹妈,死gleiche Testlogik毛皮mehrere Testfalle wiederzuverwenden。
Funktionale毛皮控制器写作测试
Das Testen冯Controllern坚持要安德斯als Das Testen静脉normalen PHP-Klasse, da我们您im车架静脉HTTP-Anfrage ausfuhren构想。
毛皮窝Conference-Controller Erstelle杯funktionalen测试:
我们要是ob娱乐下载
anstelle冯PHPUnit) \ \ TestCase的框架
als Basis-Klasse毛皮nutzen unsere测试,有我们一张祝Abstraktion毛皮unsere Funktionalen测试。
死美元的客户
- variable simuliert杯浏览器。Anstatt jedoch HTTP-Anfragen窝服务器祖茂堂senden,这位死ruft Symfony-Anwendung diob娱乐下载rekt汪汪汪。这本Vorgehen帽子mehrere Vorteile: Es是祝schneller als一张tatsachliche Kommunikation说是客户机和服务器,和您ermoglicht Es也是,穴穴测试Zustand der服务去jedem http请求祖茂堂uberprufen。
这位奥地利第一储蓄测试pruft, ob死200 zuruckgibt麻省理工学院主页上一张http响应状态。
断言是不是assertResponseIsSuccessful
了zusatzlich祖茂堂PHPUnit) hinzugefugt,嗯Dir死劳动祖茂堂erleichtern。ob娱乐下载Symfony stellt有苏珥Verfugung solcher断言。
提示
我们有/
修复als URL verwendet anstatt您超级窝路由器祖茂堂generieren。死geschieht absichtlich da das Testen·冯·Produktiv-URLs菩提树在全世界是,是我们Testen构想。Sobald Du窝Routenpfad anderst了死测试fehlschlagen和你dadurch弗伦德里希政治erinnern,你死alte URL wahrscheinlich auf死neue umleiten solltest,嗯较为Suchmaschinen和网站,死你网站verweisen汪汪汪,净祖茂堂盛。
Konfiguration der Test-Umgebung
Standardmaßig了PHPUnit-Tests火线测试
ob娱乐下载Symfony-Umgebung ausgefuhrt。这是在der PHPUnit-Konfigurations-Datei festgelegt:
该死的测试funktionieren,得我们dasAKISMET_KEY
秘密毛皮这Umgebung festlegen:
1
美元ob娱乐下载symfony控制台的秘密:集AKISMET_KEY——env =测试
麻省理工学院静脉Testdatenbank arbeiten
是不是我们什么呃gesehen抗议,stellt死Symfony CLI automatiob娱乐下载sch死去DATABASE_URL
环境变量(Umgebungsvariable) bereit。不als PHPUnit)要是ausgefuhrt假日,和verandert该死窝Datenbank-Namen冯主要
祖茂堂main_test
,所以dass死测试您eigene Datenbank抗议。这是sehr wichtig, weil我们欧什稳定Daten brauchen嗯auszufuhren unsere测试,和我们sicherlich永远死在unser Daten Development-Datenbank uberschreiben构想。
Bevor ausfuhren可以在我们unsere测试,得我们死去测试
-Datenbank“initialisieren”(Datenbank erstellen和migrieren):
1 2
美元ob娱乐下载symfony控制台学说:数据库:创建- env =测试美元ob娱乐下载symfony控制台学说:迁移:迁移- n - env =测试
在Linux和类似操作系统,您可以使用
APP_ENV =刺激
而不是——env =刺激
:1
美元APP_ENV = proob娱乐下载d symfony控制台学说:数据库:创建
要是Du ausfuhrst嫩模测试,将PHPUnit)错的较多麻省理工学院我Development-Datenbank kommunizieren。嗯努尔死auszufuhren neuen测试,fuge窝Pfad祖茂堂deren Klassenpfad hinzu:
1
美元ob娱乐下载php bin / symfony /控制器/ ConferenceControllerTest.php phpunit)测试
提示
要是测试fehlschlagt静脉,萤石es明智盛,西奇das Response-Objekt anzusehen。Greife超级客户端- > getResponse美元()
和回声
darauf祖茂堂,嗯,是不是es aussieht祖茂堂看清。
夹具erstellen
嗯Kommentarliste死去,分页和死Formularubermittlung testen祖能帮得我们死Datenbank麻省理工学院Daten befullen。Außerdem构想我们,dass死Daten贝艾伦Testlaufen identisch信德,该死死测试erfolgreich durchlaufen。夹具信德genau das,我们brauchen。
Installiere das教义装置包:
1
美元ob娱乐下载symfony作曲家点播orm-fixtures - dev
当der安装,新src / DataFixtures /
-Verzeichnis麻省理工学院静脉Beispielklasse erstellt,死angepasst了萤石。Fuge vorerst请来两Konferenzen和杯Kommentar hinzu:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17日18 19 20 21日22日23日24日25日26日27 28 29 30 31 32 33 34 35 36 37 38
- - - / src / DataFixtures / AppFixtures.php+ + + b / src / DataFixtures / AppFixtures.php@@ 2,6 + 2,8 @@名称空间的应用程序\ DataFixtures;+使用App \实体\评论;+使用App \实体\会议;使用原则\包\ FixturesBundle \夹具;使用原则\ \ ObjectManager持久性;8 + @@ 9日11日24 @@类AppFixtures延伸夹具{公共函数加载(ObjectManager经理美元):{无效——/ / $产品=新产品();——/ / $经理- >保存(产品);+ $阿姆斯特丹=新的会议();+ $阿姆斯特丹- > setCity(阿姆斯特丹);+ $阿姆斯特丹- > setYear (' 2019 ');+ $阿姆斯特丹- > setIsInternational(真正的);+ $经理- >保存(阿姆斯特丹);++ $巴黎=新的会议();+ $巴黎- > setCity(巴黎);+ $巴黎- > setYear (' 2020 ');+ $巴黎- > setIsInternational(假);+ $经理- >保存(巴黎);++ $ comment1 =新的评论();+ $ comment1 - > setConference阿姆斯特丹($);+ $ comment1 - > setAuthor(“法”);+ $ comment1 - > setEmail (fabien@example.com);+ $ comment1 - > setText(“这是一个伟大的会议。”);+ $经理- >保存($ comment1);$经理- >冲洗();}
我们夹具拉登死去,要是了阿莱Daten entfernt, einschließlich admin用户切换。嗯das祖vermeiden fugen我们窝admin用户切换窝fixture hinzu:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17日18 19 20 21日22日23日24日25日26日27 28 29 30 31 32 33 34 35 36 37 38
- - - / src / DataFixtures / AppFixtures.php+ + + b / src / DataFixtures / AppFixtures.php@@ 2 13 + 2,22 @@名称空间的应用程序\ DataFixtures;+使用App \实体\管理;使用App \实体\评论;使用App \实体\会议;使用原则\包\ FixturesBundle \夹具;使用原则\ \ ObjectManager持久性;+使用Syob娱乐下载mfony \组件\ PasswordHasher \切肉机\ PasswordHasherFactoryInterface;类AppFixtures延伸夹具{+私人passwordHasherFactory美元;++公共职能__construct (PasswordHasherFactoryInterface passwordHasherFactory美元)+ {+ $ this - > passwordHasherFactory = $ passwordHasherFactory;+}+公共函数加载(ObjectManager经理美元):空白{$阿姆斯特丹=新的会议();@@ -30 6 + 39 12 @@类AppFixtures延伸夹具$ comment1 - > setText(“这是一个伟大的会议。”);(管理器- >坚持美元comment1);+ $管理= admin ();+ $管理- > setRoles ([' ROLE_ADMIN ']);+ $管理- > setUsername(管理);+ $管理- >向setPassword ($ this - > passwordHasherFactory - > getPasswordHasher (admin::类)- >散列(“admin”,零));+ $经理- >保存(管理);+$经理- >冲洗();}}
提示
杜落你不更多政治erinnerst welchen服务Du毛皮一张bestimmte Aufgabe verwenden你们,verwende调试:自动装配
麻省理工学院einem关键字:
1
美元ob娱乐下载symfony控制台调试:自动装配侍者
明信片网站crawlen Funktionalen测试
是不是我们gesehen抗议,simuliert der窝测试verwendete http客户端杯浏览器,苏打水我们的军队网站navigieren可以在死去,als wurden我们杯浏览器verwenden。
Fuge杯neuen测试hinzu der von der主页来自改一张Konferenzseite klickt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
- - - /测试/控制器/ ConferenceControllerTest.php+ + + b /测试/控制器/ ConferenceControllerTest.php@@ -14,4 + 14、19 @@类ConferenceControllerTest延伸WebTestCase $ this - > assertResponseIsSuccessful ();$ this - > assertSelectorTextContains (h2,给你反馈);}++公共testConferencePage()函数+ {+ $客户=静态:createClient ();+ $履带= $客户- >请求(‘得到’,‘/’);++ $ this - > assertCount(2 $履带- >过滤器(h4));++ $客户- > clickLink(“视图”);++ $ this - > assertPageTitleContains(阿姆斯特丹);+ $ this - > assertResponseIsSuccessful ();+ $ this - > assertSelectorTextContains (h2,阿姆斯特丹2019);+ $ this - > assertSelectorExists (“div:包含(“有1评论”));+}}
Lasse爹妈在einfachen Worten beschreiben, passiert diesem测试:
- 是不是贝姆ersten测试出发汪汪汪死主页;
- 死
请求()
方法有一张履带
-Instanz选择,死hilft Elemente auf der Seite祖茂堂法登(包括链接、Formulare奥得河一切,杜是麻省理工学院CSS-Selektoren奥得河XPath erreichen kannst); - 麻省理工学院的帮助下进行CSS-Selektors prufen我们,dass请来两Konferenzen auf der主页aufgelistet信德;
- 丹klicken我们天改链接“视图”(Symfony萤石错的较多als杯链接ob娱乐下载gleichzeitig anklicken, darum wahlt es automatisch窝ersten,窝es findet);
- 我们testen窝Seitentitel,死的反应和Seitenuberschrift死去
< h2 >
嗯那么自信祖茂堂得走了,dass我们der richtigen汪汪汪Seite信德(我们条板欧什死zugehorige路线uberprufen能帮); - Schließlich prufen我们,dass es杯Kommentar der Seite汪汪汪有。
div:包含()
是zwar凯文人民CSS-Selektor, Symfony绝不jedocob娱乐下载h einige nutzliche Erganzungen冯jQuery abgeschaut。
Anstatt天改文本祖茂堂klicken (z.B。视图
),条板我们窝链接也是超级CSS-Selektor auswahlen可以在:
1
美元客户端- >点击(美元履带- >过滤器(“h4 + p”)- >链接());
Uberprufe ob der neue测试grun坚持:
1
美元ob娱乐下载php bin / symfony /控制器/ ConferenceControllerTest.php phpunit)测试
静脉中公式的einem abschicken Funktionalen测试
想杜das erreichen nachste水平?关切的,靠窗户neuen Kommentar麻省理工学院einem有意者auf静脉Konferenz来自einem测试她hinzuzufugen, indem Du das Abschicken进行公式的simulierst。Das scheint ehrgeizig祖茂堂盛,不瓦尔分析?Schaue Dir窝benotigten代码一个:不komplexer als das,是我们bereits geschrieben有:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
- - - /测试/控制器/ ConferenceControllerTest.php+ + + b /测试/控制器/ ConferenceControllerTest.php@@ -29,4 + 29日19 @@类ConferenceControllerTest延伸WebTestCase $ this - > assertSelectorTextContains (h2,阿姆斯特丹2019);$ this - > assertSelectorExists (“div:包含(“有1评论”));}++公共testCommentSubmission()函数+ {+ $客户=静态:createClient ();+ $客户- >请求(‘得到’,' /会议/阿姆斯特丹- 2019 ');+ $客户- > submitForm(“提交”,(作者)+ ' comment_form ' = > '法',+ ' comment_form[文本]' = > '一些反馈一个自动化的功能测试,(电子邮件)+ ' comment_form ' = >“me@automat.ed”,+ ' comment_form[图片]' = >目录名(__DIR__, 2)。“/公共/图片/ under-construction.gif”,+));+ $ this - > assertResponseRedirects ();+ $客户- > followRedirect ();+ $ this - > assertSelectorExists (“div:包含(有两个评论)');+}}
嗯静脉公式的超级submitForm ()
abzuschicken, kannst Du死以der镶嵌地块超级死Browser-DevTools奥得河uber窝Formular-Tab des Symfony分析器法登。ob娱乐下载Beachte死clevere Wiederverwendung des“在建”-Bildes !
Fuhre死测试erneut军队,嗯sicherzustellen dass一切grun坚持:
1
美元ob娱乐下载php bin / symfony /控制器/ ConferenceControllerTest.php phpunit)测试
要是在浏览器einem Du das Ergebnis uberprufen willst, stoppe窝网络服务器和starte ihn der一遍测试
-Umgebung:
1 2
美元ob娱乐下载symfony服务器:停止美元ob娱乐下载symfony服务器:开始- d - env =测试
夹具erneut拉登
静脉zweites Mal ausfuhrst Du模测试,要是sollten您fehlschlagen。Da es修女mehr Kommentare在der Datenbank有,是死断言,welche死Anzahl der Kommentare uberpruft,不korrekt。我们得窝Zustand der Datenbank说是jedem Durchlauf zurucksetzen, indem我们模夹具伏尔jedem Durchlauf neu拉登:
1 2
美元ob娱乐下载symfony控制台学说:夹具:负载——env =测试美元ob娱乐下载php bin / symfony /控制器/ ConferenceControllerTest.php phpunit)测试
麻省理工学院einem Makefile automatisieren Deinen工作流
Es是argerlich,西奇一张Reihe冯Befehlen merken祖茂堂得,嗯auszufuhren模具测试。死sollte zumindest dokumentiert了。明信片Dokumentation sollte jedoch努尔Ausweg盛的。是不是sieht es stattdessen麻省理工学院der Automatisierung der taglichen Aktivitaten来自?Das, als Dokumentation dienen, anderen Entwickler * innen helfen,您祖茂堂entdecken和您劳动erleichtern beschleunigen。
死Verwendung冯einemMakefile
这是Moglichkeit, Befehle祖茂堂automatisieren:
警告
去静脉Regel毛皮Make-Dateien (makefile)吵架死Einruckung来自einem einzelnen Tabulator-Zeichen anstelle冯Leerzeichen bestehen。
Beachte das- n
国旗des教义Befehls;es是静脉全球国旗毛皮Symfony Befehle, dob娱乐下载as的意思interaktiv macht。
什么时候总是杜死测试ausfuhren想,verwende做测试
:
1
美元做测试
死Datenbank jedem测试zurucksetzen票
Das Zurucksetzen der Datenbank去jedem Testlauf舍恩曾是河口wirklich信德还有besser unabhangige测试。我们公司走错,dass西奇静脉测试改死Ergebnisse der vorherigen stutzt。明信片Anderung der Reihenfolge der测试sollte das Ergebnis不verandern。是不是我们现在herausfinden了,是死了我时刻不下降。
Verschiebe窝testConferencePage
以及后陆窝testCommentSubmission
以及:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17日18 19 20 21日22日23日24日25日26日27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
- - - /测试/控制器/ ConferenceControllerTest.php+ + + b /测试/控制器/ ConferenceControllerTest.php@@ -15 21 + 15 6 @@类ConferenceControllerTest延伸WebTestCase $ this - > assertSelectorTextContains (h2,给你反馈);}——公共testConferencePage()函数——{-客户=静态:美元:createClient ();-履带=美元客户- >请求(‘得到’,‘/’);- - - - - -- $ this - > assertCount(2 $履带- >过滤器(h4));- - - - - --客户- > clickLink(“视图”);- - - - - -- $ this - > assertPageTitleContains(阿姆斯特丹);- $ this - > assertResponseIsSuccessful ();- $ this - > assertSelectorTextContains (h2,阿姆斯特丹2019);- $ this - > assertSelectorExists (“div:包含(“有1评论”)');- - - - - -}- - - - - -公共函数testCommentSubmission(){$客户=静态:createClient ();@@ -44,4 + 29日19 @@类ConferenceControllerTest延伸WebTestCase $客户- > followRedirect ();$ this - > assertSelectorExists (“div:包含(有两个评论)');}++公共testConferencePage()函数+ {+ $客户=静态:createClient ();+ $履带= $客户- >请求(‘得到’,‘/’);++ $ this - > assertCount(2 $履带- >过滤器(h4));++ $客户- > clickLink(“视图”);++ $ this - > assertPageTitleContains(阿姆斯特丹);+ $ this - > assertResponseIsSuccessful ();+ $ this - > assertSelectorTextContains (h2,阿姆斯特丹2019);+ $ this - > assertSelectorExists (“div:包含(“有1评论”));+}}
现在schlagen fehl模具测试。
Installiere das DoctrineTestBundle,嗯死Datenbank说是窝zuruckzusetzen测试:
1
美元ob娱乐下载symfony作曲家配置extra.symfony.allow-contrib真正的
1
美元ob娱乐下载symfony作曲家要求“dama / doctrine-test-bundle: ^ 6”——开发
杜你们死Ausfuhrung des食谱确认(da西文西奇不嗯静脉offiziell unterstutztes包handelt):
1 2 3 4 5 6 7 8 9 10 11
ob娱乐下载Symfony操作:1配方(a5c79a9ff21bc3ae26d9bb25f1262ed7)——警告dama / doctrine-test-bundle(> = 4.0):从github.com/symfony/recipes-contrib:master这个包的秘诀来自“contrib”存储库,这是社区的贡献。欧宝体育平台怎么样检查配方在https://github.com/symfony/recipes-ob娱乐下载contrib/tree/master/dama/doctrine-test-bundle/4.0上你想执行这个配方吗?[y]是[n]不是[a]是的所有包,只有当前安装的会话[p]是永久的,不会又问这个项目(默认为n): p
Aktiviere窝PHPUnit-Listener:
1 2 3 4 5 6 7 8 9 10 11 12 13
- - - a / phpunit.xml.dist+ + + b / phpunit.xml.dist10 @@ @@ -29年6 + 29日< /包括> < /覆盖>+ <扩展>+ <扩展类= " DAMA \ DoctrineTestBundle \ PHPUnit) \ PHPUnitExtension " / >+ < /扩展>+<听众> <侦听器类= "桥Symfony \ \ Phpob娱乐下载Unit) \ SymfonyTestsListener " / > < /听众>
和多数。阿莱Anderungen, vorgenommen死在测试了,嫩了不可或缺杰德测试automatisch zuruckgesetzt。
模具测试sollten wieder grun盛:
1
美元做测试
靠窗户echten浏览器毛皮verwenden Funktionale测试
Funktionale测试verwenden杯speziellen浏览器,der窝Symfony-Layer direkt ob娱乐下载aufruft。河口Du kannst欧什杯echten浏览器和窝echten http层潮湿的Symfony豹verwenden:ob娱乐下载
1
美元ob娱乐下载symfony作曲家点播豹- dev
杜kannst丹测试写作,模杯echten谷歌chrome浏览器verwenden。大足华美benotigst杜死folgenden Anderungen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
- - - /测试/控制器/ ConferenceControllerTest.php+ + + b /测试/控制器/ ConferenceControllerTest.php13 @@ @@ 2 13 + 2名称空间应用\ \测试控制器;用Symfob娱乐下载ony \包\ FrameworkBundle \ \ WebTestCase测试;+使用Syob娱乐下载mfony \ \豹\ PantherTestCase组件;海尔集团ConferenceControllerTest WebTestCase延伸+类ConferenceControllerTest PantherTestCase延伸{公共职能testIndex () {-客户=静态:美元:createClient ();+ $客户=静态:createPantherClient ([' external_base_uri ' = > $ _SERVER [' SYMFob娱乐下载ONY_PROJECT_DEFAULT_ROUTE_URL ']]);$客户- >请求(‘得到’,‘/’);$ this - > assertResponseIsSuccessful ();
死的环境变量ob娱乐下载SYMFONY_PROJECT_DEFAULT_ROUTE_URL
enthalt死URL des lokalen的网路。
窝richtigen测试Typen民意调查
Bisher有我们drei verschiedene测试Typen erstellt。当我们为das Maker-Bundle努尔genutzt有嗯Unit-Test-Klassen祖茂堂generieren,德国我们es欧什苏珥Generierung der anderen Test-Klassen nutzen:
1 2 3
美元ob娱乐下载symfony控制台:测试\ \ ConferenceController WebTestCase控制器美元ob娱乐下载symfony控制台:测试\ \ ConferenceController PantherTestCase控制器
Das Maker-Bundle unterstutzt死Generierung der folgenden测试Typen abhangig davon杜是不是你Applikation testen想:
TestCase
:标准PHPUnit-Tests;KernelTestCase
:标准测试死Zugang祖茂堂Symfony Dienstenob娱乐下载抗议;WebTestCase
:嗯Browser-ahnliche Szenarios,河口ohne auszufuhren Javascript代码;ApiTestCase
:毛皮API-orientierte Szenarios;PantherTestCase
:毛皮End-zu-End Szenarios;welche杯echten浏览器奥得河http客户端和杯echten服务器nutzen。
麻省理工学院Funktionale“黑盒”测试黑焰durchfuhren
明信片weitere Moglichkeit, durchzufuhren Funktionale测试,是死Verwendung desBlackfire-Players。杜Zusatzlich祖茂堂民主党,麻省理工学院Funktionalen测试麦臣kannst,萤石der Blackfire-Player欧什durchfuhren性能测试。
范围内Dir窝Schritt超级性能有一个,嗯祖茂堂erfahren。
Weiterfuhrendes
- Liste der冯Symfob娱乐下载ony definierten断言毛皮Funktionale测试;
- PHPUnit) Dokumentation;
- 死摊贩位于这苏珥是Erstellung realistischer装置;
- 死CssSelector组件Dokumentation;
- 死ob娱乐下载Symfony豹位于毛皮Browsertests和Webcrawling Symfony-Anwendungeob娱乐下载n;
- 死使/ Makefile Dokumentation。