Files
015/worker/test/services/text_test.go

73 lines
2.1 KiB
Go

package services
import (
"testing"
"worker/internal/services"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
// --- Google Translate ---
func TestTranslateWithGoogle_EnToZhCN(t *testing.T) {
result, err := services.TranslateText("Hello world", "auto", "zh-CN", "google")
require.NoError(t, err)
assert.NotEmpty(t, result)
t.Logf("en→zh-CN: %s", result)
}
func TestTranslateWithGoogle_ZhCNToEn(t *testing.T) {
result, err := services.TranslateText("你好世界", "zh-CN", "en", "google")
require.NoError(t, err)
assert.NotEmpty(t, result)
t.Logf("zh-CN→en: %s", result)
}
func TestTranslateWithGoogle_AutoDetect(t *testing.T) {
result, err := services.TranslateText("こんにちは", "auto", "en", "google")
require.NoError(t, err)
assert.NotEmpty(t, result)
t.Logf("auto(ja)→en: %s", result)
}
func TestTranslateWithGoogle_LongText(t *testing.T) {
text := "The quick brown fox jumps over the lazy dog. " +
"This sentence contains every letter of the English alphabet. " +
"It is commonly used for testing purposes."
result, err := services.TranslateText(text, "en", "zh-CN", "google")
require.NoError(t, err)
assert.NotEmpty(t, result)
t.Logf("长文本→zh-CN: %s", result)
}
// --- Microsoft Translator ---
func TestTranslateWithMicrosoft_EnToZhCN(t *testing.T) {
result, err := services.TranslateText("Hello world", "auto", "zh-Hans", "microsoft")
require.NoError(t, err)
assert.NotEmpty(t, result)
t.Logf("en→zh-Hans: %s", result)
}
func TestTranslateWithMicrosoft_ZhCNToEn(t *testing.T) {
result, err := services.TranslateText("你好世界", "zh-Hans", "en", "microsoft")
require.NoError(t, err)
assert.NotEmpty(t, result)
t.Logf("zh-Hans→en: %s", result)
}
func TestTranslateWithMicrosoft_AutoDetect(t *testing.T) {
result, err := services.TranslateText("こんにちは", "auto", "en", "microsoft")
require.NoError(t, err)
assert.NotEmpty(t, result)
t.Logf("auto(ja)→en: %s", result)
}
// --- 通用 ---
func TestTranslateText_UnknownProvider(t *testing.T) {
_, err := services.TranslateText("hello", "en", "zh-CN", "unknown_provider")
assert.ErrorIs(t, err, services.ErrUnknownProvider)
}