PHPUnit袖珍指南之命令行测试工具_PHP教程
PHPUnit命令行测试工具是通过phpunit命令调用的。如下代码显示如何通过PHPUnit命令行测试工具运行测试。
phpunit ArrayTest PHPUnit 2.3.0 by Sebastian Bergmann. Time: 0.067288 OK (2 tests) |
对每个测试,PHPUnit命令行测试工具打印一个字符表示进程:
·测试成功打印“.”。
·运行测试方法是发生了断言失败打印“F”。
·运行测试方法是发生了错误打印“E”。
·测试没有完成或测试没有实现打印“I”(见本书后“未完成的测试”一章)。
PHPUnit可以区分失败和错误。一个失败是PHPUnit的断言违例,错误是一个意料外的异常或一个PHP错误。有时候这种差别是有用的,因为错误相比失败更容易修正。如果你有一大串问题列表,最好先解决所有错误,然后看看有没有失败遗留下来。
让我们看看如下一些代码命令行测试工具的选项:
phpunit --help PHPUnit 2.3.0 by Sebastian Bergmann. Usage: phpunit [switches] UnitTest [UnitTest.php] --coverage-data <file> Write code-coverage data in raw format to file. --coverage-html <file> Write code-coverage data in HTML format to file. --coverage-text <file> Write code-coverage data in text format to file. --testdox-html <file> Write agile documentation in HTML format to file. --testdox-text <file> Write agile documentation in Text format to file. --log-xml <file> Log test progress in XML format to file. --loader <loader> TestSuiteLoader implementation to use. --skeleton Generate skeleton UnitTest class for Unit in Unit.php. --wait Waits for a keystroke after each test. --help Prints this usage information. --version Prints the version and exits. |
phpunit UnitTest
运行类UnitTest提供的测试,该类应该定义在源文件UnitTest.php中。
类UnitTest必须继承PHPUnit2_Framework_TestCase类,或是提供了公有静态方法suite,并返回PHPUnit2_ Framework_Test对象的类(例如,类PHPUnit2_Framework_TestSuite的一个实例)
phpunit UnitTest UnitTest.php
运行类UnitTest提供的测试,该类要定义在命令指定的源文件(UnitTest.php)中。
--coverage-data, --coverage-html, and --coverage-text
控制运行测试的代码覆盖信息的分析和集合(参见本书后代码覆盖分析一节)
--testdox-html and --testdox-text
以HTML或普通文本格式生成运行测试的敏捷文档(参见本书后的“测试的其他用途”一章)
--log-xml
生成运行测试的XML格式的日志文件。
下一个例子显示为ArrayTest中的测试生成的XML日志文件。
<?xml version="1.0" encoding="UTF-8"?> <testsuites> <testsuite name="ArrayTest" tests="2" failures="0" errors="0" time="0.020026"> <testcase name="testNewArrayIsEmpty" class="ArrayTest" time="0.014449"/> <testcase name="testArrayContainsAnElement" class="ArrayTest" time="0.005577"/> </testsuite> </testsuites> |
下面的XML日志文件是为名为FailureErrorTest的测试类两个测试生成的,一个是testFailure,一个是testError。这显示了失败和错误是如何分别表示的。
<?xml version="1.0" encoding="UTF-8"?> <testsuites> <testsuite name="FailureErrorTest" tests="2" failures="1" errors="1" time="0.013603"> <testcase name="testFailure" class="FailureErrorTest" time="0.011872"> <failure message="" type="PHPUnit2_Framework_AssertionFailedError"></failure> </testcase> <testcase name="testError" class="FailureErrorTest" time="0.001731"> <error message="" type="Exception"></error> </testcase> </testsuite> </testsuites> --loader |
指定将要使用的测试套件加载器。
标准测试套件加载器会在当前工作目录和PHP的include_path configuration指令定义的路径中寻找源文件。按照PEAR的命名规则,形如Project_Package_Class的类名会映射到的源文件为Project/Package/Class.php。
--skeleton
为类Unit(在文件Unit.php中)生成一个名为UnitTest(在文件UnitTest.php中)的测试用例类的框架。对原始类的每个方法,在生成的测试用例类中提供了一个未完成的测试用例(见本书后的“未完成测试”部分)。
下面的例子显示了如何为一个名为Sample的类生成一个测试类的框架。
phpunit --skeleton Sample PHPUnit 2.3.0 by Sebastian Bergmann. Wrote test class skeleton for Sample to SampleTest.php. phpunit SampleTest PHPUnit 2.3.0 by Sebastian Bergmann. I Time: 0.007268 There was 1 incomplete test case: 1) testSampleMethod(SampleTest) OK, but incomplete test cases!!! Tests run: 1, incomplete test cases: 1. |
当你为现有代码书写测试时,你不得不重复很多相同的代码片断,如:
public function testSampleMethod( ) {} |
PHPUnit能帮助你分析现有代码,生成测试用例类的框架。
--wait
每个测试结束时,等待一次击键。这很有用,特别是你在一个只有测试一直运行在打开的窗口中运行测试时。
提示 当被测试代码中有PHP语法错误时,文本界面的测试会直接退出,不输出任何错误信息。标准的测试套件加载器会检查测试套件的源文件的PHP语法错误,但是,它不会检查测试套件包含的源文件的语法错误。PHPUnit的未来版本会用在砂箱中PHP解释器类解决这个问题。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











sudo 명령을 사용하면 사용자는 수퍼유저 모드로 전환하지 않고도 상승된 권한 모드에서 명령을 실행할 수 있습니다. 이 기사에서는 Windows 시스템에서 sudo 명령과 유사한 기능을 시뮬레이션하는 방법을 소개합니다. 슈도사령부란 무엇인가? Sudo("superuser do"의 약어)는 Linux 및 MacOS와 같은 Unix 기반 운영 체제 사용자가 일반적으로 관리자가 보유하는 높은 권한으로 명령을 실행할 수 있도록 하는 명령줄 도구입니다. Windows 11/10에서 SUDO 명령 실행 그러나 최신 Windows 11 Insider 미리 보기 버전이 출시되면서 Windows 사용자는 이제 이 기능을 경험할 수 있습니다. 이 새로운 기능을 통해 사용자는 다음을 수행할 수 있습니다.

Windows 11 출시와 함께 Microsoft는 VBS(Virtualization-basedSecurity)라는 보안 기능을 포함하여 몇 가지 새로운 기능과 업데이트를 도입했습니다. VBS는 가상화 기술을 활용하여 운영 체제와 중요한 데이터를 보호함으로써 시스템 보안을 향상시킵니다. 그러나 일부 사용자의 경우 VBS는 필수 기능이 아니며 시스템 성능에 영향을 미칠 수도 있습니다. 따라서 이 기사에서는 Windows 11에서 VBS를 끄는 방법을 소개합니다.

중국어 VSCode 설정: 전체 가이드 소프트웨어 개발에서 Visual Studio Code(줄여서 VSCode)는 일반적으로 사용되는 통합 개발 환경입니다. 중국어를 사용하는 개발자의 경우 VSCode를 중국어 인터페이스로 설정하면 작업 효율성이 향상될 수 있습니다. 이 기사에서는 VSCode를 중국어 인터페이스로 설정하는 방법을 자세히 설명하고 특정 코드 예제를 제공하는 완전한 가이드를 제공합니다. 1단계: 언어 팩을 다운로드하고 설치합니다. VSCode를 연 후 왼쪽을 클릭합니다.

이 문서에서는 명령 프롬프트(CommandPrompt)를 사용하여 Win11 시스템에서 네트워크 어댑터의 물리적 주소(MAC 주소)를 찾는 방법을 독자에게 소개합니다. MAC 주소는 네트워크 통신에서 중요한 역할을 하는 네트워크 인터페이스 카드(NIC)의 고유 식별자입니다. 명령 프롬프트를 통해 사용자는 현재 컴퓨터에 있는 모든 네트워크 어댑터의 MAC 주소 정보를 쉽게 얻을 수 있으며 이는 네트워크 문제 해결, 네트워크 설정 구성 및 기타 작업에 매우 유용합니다. 방법 1: "명령 프롬프트" 사용 1. [Win+X] 키 조합을 누르거나 [마우스 오른쪽 버튼 클릭] 작업 표시줄의 [Windows 로고]를 클릭하고 메뉴 항목이 열리면 [실행]을 선택합니다. .창을 실행하고 [cmd] 명령어를 입력한 후

Win11 시스템에서는 명령을 통해 Hyper-V 고급 세션 모드를 활성화하거나 비활성화할 수 있습니다. 이 문서에서는 명령을 사용하여 사용자가 시스템에서 Hyper-V 기능을 더 잘 관리하고 제어할 수 있도록 돕는 방법을 소개합니다. Hyper-V는 Microsoft에서 제공하는 가상화 기술로 Windows Server와 Windows 10 및 11(Home Edition 제외)에 내장되어 있어 사용자가 Windows 시스템에서 가상 운영 체제를 실행할 수 있습니다. 가상 머신은 호스트 운영 체제에서 격리되어 있지만 설정을 통해 사운드 카드, 저장 장치 등 호스트 리소스를 계속 사용할 수 있습니다. 주요 설정 중 하나는 고급 세션 모드를 활성화하는 것입니다. 고급 세션 모드는 Hyper입니다.

1. 개요 sar 명령은 시스템 활동에서 수집된 데이터를 통해 시스템 사용 보고서를 표시합니다. 이러한 보고서는 다양한 섹션으로 구성되어 있으며 각 섹션에는 데이터 유형과 데이터 수집 시기가 포함되어 있습니다. sar 명령의 기본 모드는 CPU에 액세스하는 다양한 리소스(예: 사용자, 시스템, I/O 스케줄러 등)에 대해 다양한 시간 증분으로 CPU 사용량을 표시합니다. 또한 특정 기간 동안 유휴 CPU의 비율을 표시합니다. 각 데이터 포인트의 평균값은 보고서 하단에 나열됩니다. sar 보고서는 기본적으로 10분마다 데이터를 수집하지만 다양한 옵션을 사용하여 이러한 보고서를 필터링하고 조정할 수 있습니다. uptime 명령과 마찬가지로 sar 명령도 CPU 로드를 모니터링하는 데 도움이 될 수 있습니다. sar를 통해 과도한 부하 발생을 이해할 수 있다.

이 문서에서는 Ubuntu 20.04를 22.04로 업그레이드하는 단계를 자세히 설명합니다. Ubuntu 20.04를 사용하는 사용자의 경우 버전 22.04의 새로운 기능과 이점을 놓쳤습니다. 더 나은 경험과 보안을 얻으려면 적시에 최신 Ubuntu 버전으로 업그레이드하는 것이 좋습니다. Ubuntu22.04의 코드명은 "Jamie Jellyfish"입니다. 최신 LTS 버전을 얻는 방법을 알아보세요! 명령줄을 통해 Ubuntu 20.04를 22.04로 업그레이드하는 방법 명령줄을 마스터하면 이점을 얻을 수 있습니다. GUI를 통해 Ubuntu를 업데이트하는 것이 가능하지만 우리는 명령줄을 통해 초점을 맞출 것입니다. 먼저 다음 명령을 사용하여 현재 실행 중인 Ubuntu 버전을 확인하겠습니다.

jQuery 참조 방법에 대한 자세한 설명: 빠른 시작 가이드 jQuery는 웹 사이트 개발에 널리 사용되는 JavaScript 라이브러리로, JavaScript 프로그래밍을 단순화하고 개발자에게 풍부한 기능을 제공합니다. 이 기사에서는 jQuery의 참조 방법을 자세히 소개하고 독자가 빠르게 시작할 수 있도록 구체적인 코드 예제를 제공합니다. jQuery 소개 먼저 HTML 파일에 jQuery 라이브러리를 도입해야 합니다. CDN 링크를 통해 소개하거나 다운로드할 수 있습니다.
