Your SlideShare is downloading. ×
  • Like
  • Save
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply




Published in Technology , Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads


Total Views
On SlideShare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. MXUnit Vikas Patel
  • 2. Agenda
    • What is MXUnit?
    • Why MXUnit?
    • Installation
    • Anatomy of test cases
    • Directory runner & output formats
    • Data provider
    • Testing private methods
    • Built-in Assertions
  • 3. What is MXUnit?
    • MXUnit is a unit testing framework for CFML developers, modeled after other xUnit frameworks (JUnit, etc)
  • 4. Why MXUnit?
    • Why testing?
    • Convenience features like directory runner, easy debugging, eclipse plug-in, output formats etc.
    • Support by Google group
  • 5. Installation
    • Download the latest version
    • Unzip to your webroot; e.g., C:Inetpubwwwroot
    • Test the installation e.g. http://localhost:8500/mxunit/
  • 6. Anatomy of a TestCase
    • Create component (.cfc), filename either starts or ends with "Test“
    • component extends mxunit.framework.TestCase
    • The TestCase can contain setUp() and tearDown() functions that will run prior to and after each and every test
  • 7. Anatomy of a TestCase (Cont.)
    • The TestCase can contain beforeTests() and afterTests() functions that will be run once before and once after all tests
    • Write public methods in which you can write your assertions
    • You can run the test by loading it in the browser and suffixing it with "?method=runTestRemote", like so: http://localhost/myapp/tests/MyTest.cfc?method=runTestRemote
  • 8. TestCase: Example
  • 9. Directory Runner: Example
    • Supported Output formats:
      • HTML (or extjs deprecated)
      • XML
      • Junitxml
      • Query
      • Array
  • 10. Data Provider
    • Basic array data providor
    • Example
  • 11. Data Provider (Cont.)
    • Query data provider
    • Basic list data provider
    • Basic Excel/CSV data provider
    • Basic iterator data provider
  • 12. Testing Private Methods
  • 13. Built-in Assertions
    • assertTrue(boolean condition [,String message])
    • assertFalse(boolean condition [, String message])
    • assert(boolean condition [,String message])
    • assertEquals(any expected, any actual [, String message])
  • 14. Built-in Assertions (Cont.)
    • fail(String message)
    • failNotEquals(any value, any value2 [,String message])
    • assertSame(any obj1, any obj2 [,String message])
    • assertNotSame(any obj1, any obj2 [,String message])
  • 15. Built-in Assertions (Cont.)
    • assertXPath(String xpath, any data, [String text], [String message])
    • assertIsTypeOf(component obj, String type)
    • assertIsXMLDoc(any xml [, String message])
    • assertIsArray(any obj1)
    • assertIsDefined(any obj1)
  • 16. Built-in Assertions (Cont.)
    • assertIsEmpty(any obj1)
    • assertIsEmptyArray(any obj1,[String message])
    • assertIsEmptyQuery(any obj1,[String message])
    • assertIsEmptyStruct(any obj1,[String message])
    • assertIsQuery(any q)
    • assertIsStruct(any obj)
  • 17. Thanks