ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

testify

A Sublime Text plugin aimed at making writing PHPUnit tests less painful.

Labels test

Details

  • 2014.02.13.14.00.08
  • github.​com
  • github.​com
  • 4 years ago
  • 2 hours ago
  • 4 years ago

Installs

  • Total 162
  • Win 78
  • OS X 46
  • Linux 38
Jan 20 Jan 19 Jan 18 Jan 17 Jan 16 Jan 15 Jan 14 Jan 13 Jan 12 Jan 11 Jan 10 Jan 9 Jan 8 Jan 7 Jan 6 Jan 5 Jan 4 Jan 3 Jan 2 Jan 1 Dec 31 Dec 30 Dec 29 Dec 28 Dec 27 Dec 26 Dec 25 Dec 24 Dec 23 Dec 22 Dec 21 Dec 20 Dec 19 Dec 18 Dec 17 Dec 16 Dec 15 Dec 14 Dec 13 Dec 12 Dec 11 Dec 10 Dec 9 Dec 8 Dec 7
Windows 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
OS X 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Readme

Source
raw.​githubusercontent.​com

testify

A Sublime Text plugin aimed at making writing PHPUnit tests less painful.

Installation

  1. Download the file
  2. Unarchive the file in Sublime Text packages folder

The new menus and command palette options should appear in yout Sublime Text installation

Usage

Natural language test names

The plugin will take test method names written in natural language

should throw for something
should not call that when called with this
constructor properly sets some value
constructor will not do something
some method should fail with foo, baz and bar

and will transform those in proper PHPUnit test methods like

public function SomethingProvider()
{
    // $something
    return array(
        array(null)
    );
}

/**
 * @dataProvider SomethingProvider
 */
public function testShouldThrowForThis($something)
{
    $this->markTestIncomplete('This test has not been implemented yet.');
}

/**
 * @dataProvider ThisProvider
 */
public function testShouldNotCallThatWhenCalledWithThis($this)
{
    $this->markTestIncomplete('This test has not been implemented yet.');
}
public function testConstructorProperlySetsSomeValue()
{
    $this->markTestIncomplete('This test has not been implemented yet.');
}
public function testConstructorWillNotDoSomething()
{
    $this->markTestIncomplete('This test has not been implemented yet.');
}

public function FooBazBarProvider()
{
    // $foo, $baz, $bar
    return array(
        array(null, null, null)
    );
}

/**
 * @dataProvider FooBazBarProvider
 */
public function testSomeMethodShouldFailWithFooBazAndBar($foo, $baz, $bar)
{
    $this->markTestIncomplete('This test has not been implemented yet.');
}

using camelCase notation.

Data Providers

The plugin will presume that lines containing the words with or for are for tests that will require a dataProvider method and will generate the data provider and the associated variables by default as seen in the first, second and fifth line above. The plugin will also avoid generating duplicate data provider methods. Appending a trailing - to the line will prevent the plugin from generating a data provider method

add default throws for null value argument-

will generate

public function testAddDefaultThrowsForNullValueArgument()
{
    $this->markTestIncomplete('This test has not been implemented yet.');
}

while

add default throws for null value argument

would generate the test method and the data provider method as well

public function NullValueArgumentProvider()
{
    // $nullValueArgument
    return array(
        array(null)
    );
}

/**
* @dataProvider NullValueArgumentProvider
*/
public function testAddDefaultThrowsForNullValueArgument($nullValueArgument)
{
    $this->markTestIncomplete('This test has not been implemented yet.');
}

which might not always be the desired result.