Я - Java-разработчик, таким образом, я не уверен в деталях C#, но мне необходимостью в двух модульных тестах здесь кажется.
первый должен быть тестом "голубого неба", который успешно выполняется. Ваш модульный тест должен гарантировать, чтобы все записи, которые являются ACID, появились в базе данных после того, как транзакция фиксируется.
второй должен быть "wonky" версией, которая делает деятельность InsertFoo и затем выдает исключение прежде, чем делать попытку InsertBar. Успешный тест покажет, что исключение было выдано и что ни объекты Нечто ни Панели не посвятили себя базе данных.
, Если бы оба из них передают, я сказал бы, что Ваш TransactionScope работает, как он должен.
вы также можете автоматизировать это, используя "препроцессор" php для javascript
<script src="script.php?file=blah.js">
, где script.php - это что-то вроде
function _repl($x) { return '"' . _e($x[1]) . '"'; }
$js = file_get_contents($_GET['file']);
$js = preg_replace_callback('~_e\("(.+?)"\)~', '_repl', $js);
echo $js;
, это прозрачно заменит _e (что-то)
в коде JavaScript с фактическими строками
Вы должны использовать JSON для преобразования строк l10n на стороне сервера в объект JSON:
// In the <head> tag :
<script type="text/javascript" src="locales.php"></script>
и это в locales.php:
var l10n = <?php echo json_encode($l10n); ?>;
, где $ l10n - это массив, содержащий все локали, например:
$l10n = array(
'Please wait while submitting...' => 'Veuillez patienter durant le traitement...',
'bah' => 'bih'
);
Теперь вы можете использовать эти строки в JS следующим образом:
function $T(s){
return l10n[s] || s;
}
alert($T('Please wait while submitting...'));
вы можете создать своего рода REST-приложение, в котором вы будете заполнять элементы строк javascript при загрузке документа из службы:
$(function(){
var handleResponse = function.....; // fill your string elements from response
var lang = "fr"; // language of localized document
$.ajax(
type: "GET",
url: "/i18n.php?lang=" + lang + "&names=someName+someName1+someName2",
success: handleResponse
);
});
Вы можете сгенерировать текст в исходный сценарий.
$('#submit').click(function() {
$(#target).html('<?php _e('Please wait while submitting...'); ?>').load(someURI);
}