in reply to How can you unit test a Dancer2 plugin mehod?

Hi, it's not clear to me what you are trying to do, in your code or in your test. You declare a sub _do_stuff in your plugin class, but try to test a sub named do_stuff. You should create an SSCCE that we can download and run so we can help.

The main point of the Dancer2 plugin framework is to add keywords to the DSL that can be used in route code -- maybe you are trying to accomplish something that is not best accomplished with a plugin?

Anyhow, to answer what I think is your specific question, if you want your subroutine in the plugin class to get its class name as the first arg, without exporting the keyword and using the Moo inheritance as designed, you must call it as a class method:

Dancer2::Plugin::Menu->do_stuff()

Hope this helps!


The way forward always starts with a minimal test.