Perhaps a little simpler than what you have above (though perhaps you want the additional layer, I'm not sure) is to put your tests in a loop, like:
var fruits = [{'name': 'apple', 'juicy': true}, {'name': 'orange', 'juicy': true}];
fruits.forEach(function(fruit) {
it('should be juicy', function() {
assert(fruit.juicy);
});
});
I'll often use this pattern when I have a bunch of very similar tests -- often with arrays of inputs and expected outputs, like this:
var test_data = [
[3, 4, 7],
[7, 8, 15],
[2, 1, 3]
];
describe('addition', function() {
test_data.forEach(function(d) {
it('should add ' + d[0] + ' + ' + d[1] + ' to equal ' + d[2], function() {
assert.equal(d[0] + d[1], d[2]);
});
});
});