8

I work at a web design shop. Our workflow is divided into two parts: frontend programmers make static html and css templates of the site design, then backend programmers tie the templates into a CMS.

We have a set of common functionality for our sites, and I'm wondering if there's a unit testing framework we can use to test for this functionality.

For example, one of our common functionality guidelines states that all links to a pdf must open in a new window. I would like to write a unit test that goes something like this

if(a.class = 'pdf_link')
  assert(target='_blank)

Wikipedia's list of unit testing frameworks doesn't seem to have anything that encompasses this relatively simple functionality (checking strings against a template), and I'm leaning towards writing a bunch of bash scripts and tying them into our CI server.

But is there an better way to do this?

1
  • I don't think you need an HTML unit testing framework. You can parse the HTML and then run unit testing against the objects just like normal. What programming language are you using? Jan 27, 2012 at 5:29

2 Answers 2

2

You need to test the DOM, not the text output. I don't know what language you are developing in, but in PHP there is PHPUnit, which can do DOM checks. Look into using assertSelectEquals. My battery is about to die and I don't have my cord, or I would give you more.

3
  • Yeah, but I want to check static HTML files. I'm developing in HTML
    – CamelBlues
    Jan 30, 2012 at 20:03
  • @CamelBlues You misunderstand: you can use any programming language to test static HTML. PHPUnit even supports Selenium. Jan 30, 2012 at 20:14
  • Five years later, I've realized this is the correct answer.
    – CamelBlues
    Sep 29, 2017 at 23:00
6

I am wondering if perhaps something like Selenium would do the trick? Its a testing mechanism that is run on behavioural driven development. It can run through UI actions so that you confirm if they are correct or not. Note that I haven't used it a lot but when I did it seemed really useful.

Selenium Homepage

2
  • 1
    +1: The question may say "HTML Markup" but all of the examples are simple web functionality.
    – S.Lott
    Jan 27, 2012 at 10:46
  • This actually looks like the best solution for my needs (although the complexity of Selenium itself does look a little intimidating)
    – CamelBlues
    Jan 30, 2012 at 20:04

Not the answer you're looking for? Browse other questions tagged or ask your own question.