- I am more comfortable with the nodejs dev environment and tools than with solidity
- I like the debugging messages I can put in js (you could probably fire some events that would act as logging things)
- I haven't written complex smart contracts that need to interact with one another, so that I should test their interactions
- I can take nodejs snippets from the tests, and use them in the web UI almost without any modification.
I'm not saying my approach is the best and everybody should use it and testing in solidity is useless. I rather say I'm lazy, didn't had enough time to learn and get to feel comfortable using solidity for testing and nodejs testing is good enough for me for now.
If you have the time, I'd recommend you to get comfortable using both ways.