Ответ 1
Вот как мне удалось это сделать:
beforeEach(inject(
['$compile','$rootScope', function(_$compile_) {
var html = '<div class="smallcontainer-content"></div>';
angular.element(document.body).append(html);
elm = angular.element('<form name="form"><input name="password" id="passwordInput" data-ng-model="password" size="25" type="password" maxlength="20" tabindex="1" autofocus data-my-password-check></form>');
$compile(elm)($rootScope);
form = $rootScope.form;
}]
));
Важная часть здесь, которая добавляет html к документу, это angular.element(). append().
Я нашел это в примере кода промежуточного тестирования http://www.yearofmoo.com/2013/01/full-spectrum-testing-with-angularjs-and-karma.html#testing-filters