Swiss Developer Immigrated to Germany

Zucchini Pitfalls

Since I’ve been playing around with the Zucchini Framework. I discovered a few pitfalls. Maybe someone else stumbles upon the same problem. So I thought I make a short blogpost about it.

1. Weird “The operation could not be completed.” error:

I’ve got this error message: The operation could not be completed, No other information's available about the problem.

and the console says

-[NSAlert alertWithError:] called with nil NSError. A generic error message will be displayed, but the user deserves better.

In this case, most likely the path to your .app bundle in the confing.yml is wrong. Double check that that path is valid!

2. You get a “doesn’t define a screen context” message in the log:

The log sas something like

None: Script threw an uncaught JavaScript error: Line ' Type "Zucchini" in the username field' doesn't define a screen context.

Most likely you’ve added a new line in your .zucchini file where you shouldn’t. You should only add new lines before a “Then on the” line and nowhere else. But if you want to structure your code a bit better. You can use “#” for comment lines.

3. When running in a CI environment the test hangs and instruments endlessly leaks memory.

I described this problem before in this post. The only workaround I could find was executing zucchini from my Jenkins over ssh.

ssh user@server "cd /path/to/checked/out/repo/ && rake"

4. Unspecified “No such file or directory” message in the log

The log shows something like /Library/Ruby/Gems/1.8/gems/zucchini-ios-0.5.4/lib/feature.rb:49:in `initialize': No such file or directory - with no useful further info. In my case it was always the missing empty folder “run_data”. When running zucchini it expects this folder to be there. But because you don’t want some run data in your repository you normally don’t add it to the repository at all. So you have to add an empty file like “.gitkeep” or “.hgkeep” so the empty folder is added to the repository created when cloning/updating.

Comments are closed.