目录
PHPUnit初试,phpunit
首页 php教程 php手册 PHPUnit初试,phpunit

PHPUnit初试,phpunit

Jul 06, 2016 pm 02:25 PM
phpunit 一下 检查 测试 环境

PHPUnit初试,phpunit

先测试了一下加减,检查一下环境,又调用函数测试了服务器名。

源代码:

<span> 1</span> <span>class</span><span> DemoController extends \Think\Controller
</span><span> 2</span> <span>{
</span><span> 3</span> 
<span> 4</span>     <span>/*</span><span>*
</span><span> 5</span> <span>     * @assert (5, 8) == 13
</span><span> 6</span> <span>     * @assert (16, 76) == 92
</span><span> 7</span> <span>     * @assert (6, 16) == 32
</span><span> 8</span> <span>     * @assert (6, 4) == 0
</span><span> 9</span> <span>     * @assert ('abc', 1) == 2
</span><span>10</span> <span>     * @param int $a
</span><span>11</span> <span>     * @param int $b
</span><span>12</span> <span>     * @return int
</span><span>13</span>      <span>*/</span>
<span>14</span>     <span>public</span><span> function plus($a, $b)
</span><span>15</span> <span>    {
</span><span>16</span>         <span>return</span> $a +<span> $b;
</span><span>17</span> <span>    }
</span><span>18</span> 
<span>19</span>      <span>/*</span><span>*
</span><span>20</span> <span>     * @assert (14, 8) == 6
</span><span>21</span> <span>     * @assert (16, 6) == 10
</span><span>22</span> <span>     * @assert (6, 4) == 0
</span><span>23</span> <span>     * @assert ('45', 1) == 44
</span><span>24</span> <span>     * @param int $a
</span><span>25</span> <span>     * @param int $b
</span><span>26</span> <span>     * @return int
</span><span>27</span>      <span>*/</span>
<span>28</span>     <span>public</span><span> function subtract($a, $b)
</span><span>29</span> <span>    {
</span><span>30</span>         <span>return</span> $a -<span> $b;
</span><span>31</span> <span>    }
</span><span>32</span> 
<span>33</span>     <span>public</span> function connectToServer($serverName = <span>null</span><span>)
</span><span>34</span> <span>    {
</span><span>35</span>         <span>if</span> ($serverName == <span>null</span><span>) {
</span><span>36</span>             <span>throw</span> <span>new</span> Exception(<span>"</span><span>这不是一个服务器名</span><span>"</span><span>);
</span><span>37</span> <span>        }
</span><span>38</span>         $fp = fsockopen($serverName, <span>8080</span><span>);
</span><span>39</span>         <span>return</span> ($fp) ? <span>true</span> : <span>false</span><span>;
</span><span>40</span> <span>    }
</span><span>41</span> 
<span>42</span> 
<span>43</span> }
登录后复制

生成测试文件:

<span>  1</span> <span>class</span><span> DemoControllerTest extends \PHPUnit_Framework_TestCase
</span><span>  2</span> <span>{
</span><span>  3</span> 
<span>  4</span>     <span>/*</span><span>*
</span><span>  5</span> <span>     * @var DemoController
</span><span>  6</span>      <span>*/</span>
<span>  7</span>     <span>protected</span> $<span>object</span><span>;
</span><span>  8</span> 
<span>  9</span>     <span>/*</span><span>*
</span><span> 10</span> <span>     * Sets up the fixture, for example, opens a network connection.
</span><span> 11</span> <span>     * This method is called before a test is executed.
</span><span> 12</span>      <span>*/</span>
<span> 13</span>     <span>protected</span><span> function setUp()
</span><span> 14</span> <span>    {
</span><span> 15</span>         $<span>this</span>-><span>object</span> = <span>new</span><span> DemoController;
</span><span> 16</span> <span>    }
</span><span> 17</span> 
<span> 18</span>     <span>/*</span><span>*
</span><span> 19</span> <span>     * Tears down the fixture, for example, closes a network connection.
</span><span> 20</span> <span>     * This method is called after a test is executed.
</span><span> 21</span>      <span>*/</span>
<span> 22</span>     <span>protected</span><span> function tearDown()
</span><span> 23</span> <span>    {
</span><span> 24</span>         
<span> 25</span> <span>    }
</span><span> 26</span> 
<span> 27</span>     <span>/*</span><span>*
</span><span> 28</span> <span>     * Generated from @assert (5, 8) == 13.
</span><span> 29</span> <span>     *
</span><span> 30</span> <span>     * @covers Home\Controller\DemoController::plus
</span><span> 31</span>      <span>*/</span>
<span> 32</span>     <span>public</span><span> function testPlus()
</span><span> 33</span> <span>    {
</span><span> 34</span>         $<span>this</span>-><span>assertEquals(
</span><span> 35</span>                 <span>13</span>, $<span>this</span>-><span>object</span>->plus(<span>5</span>, <span>8</span><span>)
</span><span> 36</span> <span>        );
</span><span> 37</span> <span>    }
</span><span> 38</span> 
<span> 39</span>     <span>/*</span><span>*
</span><span> 40</span> <span>     * Generated from @assert (16, 76) == 92.
</span><span> 41</span> <span>     *
</span><span> 42</span> <span>     * @covers Home\Controller\DemoController::plus
</span><span> 43</span>      <span>*/</span>
<span> 44</span>     <span>public</span><span> function testPlus2()
</span><span> 45</span> <span>    {
</span><span> 46</span>         $<span>this</span>-><span>assertEquals(
</span><span> 47</span>                 <span>92</span>, $<span>this</span>-><span>object</span>->plus(<span>16</span>, <span>76</span><span>)
</span><span> 48</span> <span>        );
</span><span> 49</span> <span>    }
</span><span> 50</span> 
<span> 51</span>     <span>/*</span><span>*
</span><span> 52</span> <span>     * Generated from @assert (6, 16) == 32.
</span><span> 53</span> <span>     *
</span><span> 54</span> <span>     * @covers Home\Controller\DemoController::plus
</span><span> 55</span>      <span>*/</span>
<span> 56</span>     <span>public</span><span> function testPlus3()
</span><span> 57</span> <span>    {
</span><span> 58</span>         $<span>this</span>-><span>assertEquals(
</span><span> 59</span>                 <span>32</span>, $<span>this</span>-><span>object</span>->plus(<span>6</span>, <span>16</span><span>)
</span><span> 60</span> <span>        );
</span><span> 61</span> <span>    }
</span><span> 62</span> 
<span> 63</span>     <span>/*</span><span>*
</span><span> 64</span> <span>     * Generated from @assert (6, 4) == 0.
</span><span> 65</span> <span>     *
</span><span> 66</span> <span>     * @covers Home\Controller\DemoController::plus
</span><span> 67</span>      <span>*/</span>
<span> 68</span>     <span>public</span><span> function testPlus4()
</span><span> 69</span> <span>    {
</span><span> 70</span>         $<span>this</span>-><span>assertEquals(
</span><span> 71</span>                 <span>0</span>, $<span>this</span>-><span>object</span>->plus(<span>6</span>, <span>4</span><span>)
</span><span> 72</span> <span>        );
</span><span> 73</span> <span>    }
</span><span> 74</span> 
<span> 75</span>     <span>/*</span><span>*
</span><span> 76</span> <span>     * Generated from @assert ('abc', 1) == 0.
</span><span> 77</span> <span>     *
</span><span> 78</span> <span>     * @covers Home\Controller\DemoController::plus
</span><span> 79</span>      <span>*/</span>
<span> 80</span>     <span>public</span><span> function testPlus5()
</span><span> 81</span> <span>    {
</span><span> 82</span>         $<span>this</span>-><span>assertEquals(
</span><span> 83</span>                 <span>2</span>, $<span>this</span>-><span>object</span>->plus(<span>'</span><span>abc</span><span>'</span>, <span>1</span><span>)
</span><span> 84</span> <span>        );
</span><span> 85</span> <span>    }
</span><span> 86</span> 
<span> 87</span>     <span>/*</span><span>*
</span><span> 88</span> <span>     * Generated from @assert (14, 8) == 6.
</span><span> 89</span> <span>     *
</span><span> 90</span> <span>     * @covers Home\Controller\DemoController::subtract
</span><span> 91</span>      <span>*/</span>
<span> 92</span>     <span>public</span><span> function testSubtract()
</span><span> 93</span> <span>    {
</span><span> 94</span>         $<span>this</span>-><span>assertEquals(
</span><span> 95</span>                 <span>6</span>, $<span>this</span>-><span>object</span>->subtract(<span>14</span>, <span>8</span><span>)
</span><span> 96</span> <span>        );
</span><span> 97</span> <span>    }
</span><span> 98</span> 
<span> 99</span>     <span>/*</span><span>*
</span><span>100</span> <span>     * Generated from @assert (16, 6) == 10.
</span><span>101</span> <span>     *
</span><span>102</span> <span>     * @covers Home\Controller\DemoController::subtract
</span><span>103</span>      <span>*/</span>
<span>104</span>     <span>public</span><span> function testSubtract2()
</span><span>105</span> <span>    {
</span><span>106</span>         $<span>this</span>-><span>assertEquals(
</span><span>107</span>                 <span>10</span>, $<span>this</span>-><span>object</span>->subtract(<span>16</span>, <span>6</span><span>)
</span><span>108</span> <span>        );
</span><span>109</span> <span>    }
</span><span>110</span> 
<span>111</span>     <span>/*</span><span>*
</span><span>112</span> <span>     * Generated from @assert (6, 4) == 0.
</span><span>113</span> <span>     *
</span><span>114</span> <span>     * @covers Home\Controller\DemoController::subtract
</span><span>115</span>      <span>*/</span>
<span>116</span>     <span>public</span><span> function testSubtract3()
</span><span>117</span> <span>    {
</span><span>118</span>         $<span>this</span>-><span>assertEquals(
</span><span>119</span>                 <span>0</span>, $<span>this</span>-><span>object</span>->subtract(<span>6</span>, <span>4</span><span>)
</span><span>120</span> <span>        );
</span><span>121</span> <span>    }
</span><span>122</span> 
<span>123</span>     <span>/*</span><span>*
</span><span>124</span> <span>     * Generated from @assert ('abc', 1) == 0.
</span><span>125</span> <span>     *
</span><span>126</span> <span>     * @covers Home\Controller\DemoController::subtract
</span><span>127</span>      <span>*/</span>
<span>128</span>     <span>public</span><span> function testSubtract4()
</span><span>129</span> <span>    {
</span><span>130</span>         $<span>this</span>-><span>assertEquals(
</span><span>131</span>                 <span>44</span>, $<span>this</span>-><span>object</span>->subtract(<span>'</span><span>45</span><span>'</span>, <span>1</span><span>)
</span><span>132</span> <span>        );
</span><span>133</span> <span>    }
</span><span>134</span> 
<span>135</span>     <span>/*</span><span>*
</span><span>136</span> <span>     * @covers Home\Controller\DemoController::connectToServer
</span><span>137</span> <span>     * @todo   Implement testConnectToServer().
</span><span>138</span>      <span>*/</span>
<span>139</span>     <span>public</span><span> function testConnectToServer()
</span><span>140</span> <span>    {
</span><span>141</span> <span>//</span>        <span>//</span><span> Remove the following lines when you implement this test.
</span><span>142</span> <span>//</span><span>        $this->markTestIncomplete(
</span><span>143</span> <span>//</span><span>                'This test has not been implemented yet.'
</span><span>144</span> <span>//</span><span>        );</span>
<span>145</span>         $serverName = <span>'</span><span>wwwcom</span><span>'</span><span>;
</span><span>146</span>         $<span>this</span>->assertTrue($<span>this</span>-><span>object</span>->connectToServer($serverName) === <span>false</span><span>);
</span><span>147</span> <span>    }
</span><span>148</span>     <span>public</span><span> function testConnectToServer2()
</span><span>149</span> <span>    {
</span><span>150</span>         $serverName = <span>'</span><span>www.baidu.com</span><span>'</span><span>;
</span><span>151</span>         $<span>this</span>->assertTrue($<span>this</span>-><span>object</span>->connectToServer($serverName) !== <span>false</span><span>);
</span><span>152</span>     }
登录后复制

这里的服务器测试用例是手动加上去的!

执行结果:

<span> 1</span> ..FFF..F..F                                                       <span>11</span> / <span>11</span> (<span>100</span>%<span>)
</span><span> 2</span> 
<span> 3</span> Time: <span>44.42</span> seconds, Memory: <span>8</span><span>.75Mb
</span><span> 4</span> 
<span> 5</span> There were <span>5</span><span> failures:
</span><span> 6</span> 
<span> 7</span> <span>1</span><span>) Home\Controller\DemoControllerTest::testPlus3
</span><span> 8</span> Failed asserting that <span>22</span> matches expected <span>32</span><span>.
</span><span> 9</span> 
<span>10</span> D:\wamp\www\wxportal\tests\Application\Home\Controller\DemoController.classTest.php:<span>67</span>
<span>11</span> 
<span>12</span> <span>2</span><span>) Home\Controller\DemoControllerTest::testPlus4
</span><span>13</span> Failed asserting that <span>10</span> matches expected <span>0</span><span>.
</span><span>14</span> 
<span>15</span> D:\wamp\www\wxportal\tests\Application\Home\Controller\DemoController.classTest.php:<span>79</span>
<span>16</span> 
<span>17</span> <span>3</span><span>) Home\Controller\DemoControllerTest::testPlus5
</span><span>18</span> Failed asserting that <span>1</span> matches expected <span>2</span><span>.
</span><span>19</span> 
<span>20</span> D:\wamp\www\wxportal\tests\Application\Home\Controller\DemoController.classTest.php:<span>91</span>
<span>21</span> 
<span>22</span> <span>4</span><span>) Home\Controller\DemoControllerTest::testSubtract3
</span><span>23</span> Failed asserting that <span>2</span> matches expected <span>0</span><span>.
</span><span>24</span> 
<span>25</span> D:\wamp\www\wxportal\tests\Application\Home\Controller\DemoController.classTest.php:<span>127</span>
<span>26</span> 
<span>27</span> <span>5</span><span>) Home\Controller\DemoControllerTest::testConnectToServer2
</span><span>28</span> Failed asserting that <span>false</span> <span>is</span> <span>true</span><span>.
</span><span>29</span> 
<span>30</span> D:\wamp\www\wxportal\tests\Application\Home\Controller\DemoController.classTest.php:<span>158</span>
<span>31</span> 
<span>32</span> FAILURES!
<span>33</span> Tests: <span>11</span>, Assertions: <span>11</span>, Failures: <span>5</span><span>.
</span><span>34</span> 完成。
登录后复制

 

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

无法引导到Windows恢复环境 无法引导到Windows恢复环境 Feb 19, 2024 pm 11:12 PM

Windows恢复环境(WinRE)是用于修复Windows操作系统错误的环境。进入WinRE后,您可以执行系统还原、出厂重置、卸载更新等操作。如果无法引导到WinRE,本文将指导您使用修复程序解决此问题。无法引导到Windows恢复环境如果无法引导至Windows恢复环境,请使用下面提供的修复程序:检查Windows恢复环境的状态使用其他方法进入Windows恢复环境您是否意外删除了Windows恢复分区?执行Windows的就地升级或全新安装下面,我们已经详细解释了所有这些修复。1]检查Wi

furmark怎么看?-furmark怎么算合格? furmark怎么看?-furmark怎么算合格? Mar 19, 2024 am 09:25 AM

furmark怎么看?1、在主界面中设置“运行模式”和“显示模式”,还能调整“测试模式”,点击“开始”按钮。2、等待片刻后,就会看到测试结果,包含了显卡各种参数。furmark怎么算合格?1、用furmark烤机,半个小时左右看一下结果,基本上在85度左右徘徊,峰值87度,室温19度。大号机箱,5个机箱风扇口,前置两个,上置两个,后置一个,不过只装了一个风扇。所有配件都没有超频。2、一般情况下,显卡的正常温度应该在“30-85℃”之间。3、就算是大夏天周围环境温度过高,正常温度也是“50-85℃

拼写检查在团队中不起作用[修复] 拼写检查在团队中不起作用[修复] Mar 06, 2024 am 09:10 AM

我们已经开始注意到,有时拼写检查停止工作的团队。拼写检查是有效沟通的基本工具,任何对它的打击都会对工作流程造成相当大的破坏。在本文中,我们将探讨拼写检查可能无法按预期运行的常见原因,以及如何将其恢复到以前的状态。所以,如果拼写检查在团队中不起作用,请遵循本文中提到的解决方案。为什么Microsoft拼写检查不起作用?Microsoft拼写检查无法正常工作可能有多种原因。这些原因包括不兼容的语言设置、拼写检查功能被禁用、MSTeam或MSOffice安装损坏等。另外,过时的MSTeams和MSOf

加入全新仙侠冒险!《诛仙2》'无为测试”预下载开启 加入全新仙侠冒险!《诛仙2》'无为测试”预下载开启 Apr 22, 2024 pm 12:50 PM

新派幻想仙侠MMORPG《诛仙2》“无为测试”即将于4月23日开启,在原著千年后的诛仙大陆,会发生怎样的全新仙侠冒险故事?六境仙侠大世界,全日制修仙学府,自由自在的修仙生活,仙界中的万般妙趣都在等待着仙友们亲自前往探索!“无为测试”预下载现已开启,仙友们可前往官网下载,开服前无法登录游戏服务器,激活码可在预下载安装完成后使用。《诛仙2》“无为测试”开放时间:4月23日10:00——5月6日23:59诛仙正统续作全新仙侠冒险篇章《诛仙2》以《诛仙》小说为蓝图,在继承原著世界观的基础上,将游戏背景设

Windows11中如何检查 SSD 运行状况?Win11上检查 SSD 运行状况的方法 Windows11中如何检查 SSD 运行状况?Win11上检查 SSD 运行状况的方法 Feb 14, 2024 pm 08:21 PM

Windows11中如何检查SSD运行状况?对于其快速的读取、写入和访问速度,SSD正在迅速取代HDD,但即使它们更可靠,您仍然需要在Windows11中检查SSD的运行状况。怎么去操作呢?本篇教程小编就来为大家分享一下方法吧。方法一:使用WMIC1、使用按键组合Win+R,键入wmic,然后按或单击“确定”。Enter2、现在,键入或粘贴以下命令以检查SSD运行状况:diskdrivegetstatus如果您收到“状态:正常”消息,则您的SSD驱动器运行正

Golang中如何检查字符串是否以特定字符开头? Golang中如何检查字符串是否以特定字符开头? Mar 12, 2024 pm 09:42 PM

Golang中如何检查字符串是否以特定字符开头?在使用Golang编程时,经常会遇到需要检查一个字符串是否以特定字符开头的情况。针对这一需求,我们可以使用Golang中的strings包提供的函数来实现。接下来将详细介绍如何使用Golang检查字符串是否以特定字符开头,并附上具体的代码示例。在Golang中,我们可以使用strings包中的HasPrefix

不同语言的函数测试与覆盖率有什么区别? 不同语言的函数测试与覆盖率有什么区别? Apr 27, 2024 am 11:30 AM

函数测试通过黑盒和白盒测试验证函数功能,而代码覆盖率衡量了测试用例覆盖的代码部分。不同语言(如Python和Java)的测试框架、覆盖率工具和特性不同。实战案例展示了如何使用Python的Unittest和Coverage以及Java的JUnit和JaCoCo进行函数测试和覆盖率评估。

国产FPS新王炸!《三角洲行动》大战场超出预期 国产FPS新王炸!《三角洲行动》大战场超出预期 Mar 07, 2024 am 09:37 AM

《三角洲行动》于今日(3月7日)将开启一场名为“代号:ZERO”的大规模PC测试。而在上周末,这款游戏在上海举办了一次线下快闪体验活动,17173也有幸受邀参与其中。此次测试距离上一次仅仅相隔四个多月,这不禁让我们好奇,在这么短的时间内,《三角洲行动》将会带来哪些新的亮点与惊喜?四个多月前,我已先行在线下品鉴会和首测版本中体验了《三角洲行动》。当时,游戏仅开放了“危险行动”这一模式。然而,《三角洲行动》在当时的表现已然令人瞩目。在各大厂商纷纷涌向手游市场的背景下,如此一款与国际水准相媲美的FPS

See all articles