English 中文(简体)
Running unit tests on both windows and linux
原标题:

Is there a way, a method, to be able to effectively run unit tests (phpunit) on both linux and windows?

I need to do this because some parts of the system is only available under linux, but i do want to be able to run certain parts of the test suite in my IDE, which is netbeans by the way.

The problems i run into have to do with paths most of the time. To complicate things more i also intend to run the tests from within phing.

But the thing i haven t adressed yet is the ability to tailor different testsuites for different platforms. Is this even possible?

Tests are basically living inside the test directory and source is within src. The includepaths are handled by an included file. Would it be possible to use an autoloader to handle different directory structure?

最佳回答

I don t really see your problem. Use PATH_SEPARATOR, check for the OS using PHP_OS, also use phpunit.xml

You can also create two(or more) PHPUnit XML configuration files if you need them.

问题回答

To complicate things more I also intend to run the tests from within phing.

To run specific parts of your phing work-flow per operating system, you can use the ConditionTask.

http://phing.info/docs/guide/stable/chapters/appendixes/AppendixB-CoreTasks.html#ConditionTask

Is there a way, a method, to be able to effectively run unit tests (phpunit) on both Linux and windows?

you can annotate your PHPUnit tests with:

@group

This allows you to specify a particular "group" of tests to run. So, for all tests that pertain to windows, you could tag them as:

@group oswin

Then when you run phpunit you specify the "oswin" group. For example:

phpunit --group oswin





相关问题
Brute-force/DoS prevention in PHP [closed]

I am trying to write a script to prevent brute-force login attempts in a website I m building. The logic goes something like this: User sends login information. Check if username and password is ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

定值美元

如何确认来自正确来源的数字。

Generating a drop down list of timezones with PHP

Most sites need some way to show the dates on the site in the users preferred timezone. Below are two lists that I found and then one method using the built in PHP DateTime class in PHP 5. I need ...

Text as watermarking in PHP

I want to create text as a watermark for an image. the water mark should have the following properties front: Impact color: white opacity: 31% Font style: regular, bold Bevel and Emboss size: 30 ...

How does php cast boolean variables?

How does php cast boolean variables? I was trying to save a boolean value to an array: $result["Users"]["is_login"] = true; but when I use debug the is_login value is blank. and when I do ...

热门标签