All we need to do is convert the action to a string: UIBarButtonItem *button = [sut buttonItem]; assertThat([button target], is(sameInstance(sut))); assertThat(NSStringFromSelector([button action]), is(@doSomething:)); Reply stan4th January 23, 2013 at 5:44 am Hi Jon, what I???m getting now is a nil returned for both of the asserts in the above code.