Для данных изображения мне проще использовать canvas.toBlob
(асинхронный)
function b64toBlob(b64, onsuccess, onerror) {
var img = new Image();
img.onerror = onerror;
img.onload = function onload() {
var canvas = document.createElement('canvas');
canvas.width = img.width;
canvas.height = img.height;
var ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
canvas.toBlob(onsuccess);
};
img.src = b64;
}
var base64Data = 'data:image/jpg;base64,/9j/4AAQSkZJRgABAQA...';
b64toBlob(base64Data,
function(blob) {
var url = window.URL.createObjectURL(blob);
// do something with url
}, function(error) {
// handle error
});
Есть два пути. Легким является использование флага -run
и предоставление совпадений с образцами тестов, которые вы хотите запустить.
Пример:
$ go test -run NameOfTest
См. Документы для получения дополнительной информации.
Другой способ - указать конкретный файл, содержащий тесты, которые вы хотите запустить:
$ go test foo_test.go
Но есть улов. Это хорошо работает, если:
foo.go
находится в package foo
. foo_test.go
находится в package foo_test
и импортирует «foo». Если foo_test.go
и foo.go
являются одним и тем же пакетом (общий случай), вы должны указать все другие файлы, необходимые для сборки foo_test
. В этом примере это будет:
$ go test foo_test.go foo.go
Я бы рекомендовал использовать шаблон -run
. Или, где / когда это возможно, всегда выполняйте все тесты пакетов.
в плагине intelliJ IDEA go-lang (и я предполагаю, что в jetbrains Gogland) вы можете просто установить тестовый вид в файл в run> edit configurations
Ответ на @ zzzz в основном завершен, но для того, чтобы другие не могли прокопать документацию , указанную в , вы можете запустить один тест в пакете следующим образом:
go test packageName -run TestName
Обратите внимание, что вы хотите передать имя теста, not имя файла, в котором существует тест.
Флаг -run
действительно принимает регулярное выражение, чтобы вы могли ограничьте тестовый прогон до класса тестов. Из документов:
-run regexp
Run only those tests and examples matching the regular
expression.
alias testcases="sed -n 's/func.*\(Test.*\)(.*/\1/p' | xargs | sed 's/ /|/g'"
go test -v -run $(cat coordinator_test.go | testcases)
-run
, пожалуйста? Я не могу найти никакой справочной справки об этом. – user 5 June 2013 в 10:46go help testflag
– Jeffrey Martinez 31 January 2015 в 17:30go test utils.go utils_test.go
, выход будетok command-line-arguments 0.002s
. Он не запускает тест. Причина, по которой я хочу использовать этот тестовый режим, состоит в том, что пакет содержит много файлов, и они еще не компилируются, кроме utils. Поэтому я хотел бы завершить utils до workinqg для других файлов. Как я могу это сделать ? – chmike 3 December 2016 в 13:12-v
(verbose). Из документов-v Verbose output: log all tests as they are run. Also print all text from Log and Logf calls even if the test succeeds.
– robstarbuck 1 March 2018 в 23:28