【发布时间】:2013-03-07 14:07:51
【问题描述】:
我担心我的应用程序在处理不同文化中的字符串输入时的可预测性。这是旧软件中的问题,我不希望它成为新软件中的问题。
我通常有两种输入来源;输入到 WPF 应用程序和 Streams 中的字符串,从文件加载,包含文本。这些培养出来的字符串一般在使用前都会被输入到模型中
public struct MyModel
{
public String Name;
}
我想设计一个有意义的测试,以确保当 Result DoSomething(MyModel model); 包含在不同机器上输入的文本时,某些逻辑实际上可以处理它。
但是我怎样才能展示差异很重要的案例呢?
例如以下失败。
var inNativeCulture= "[Something12345678.9:1] {YeS/nO}";
var inChineseCulture = inNativeCulture.ToString(new CultureInfo("zh-CN"));
Assert.That(inChineseCulture, Is.Not.EqualTo(inNativeCulture));
[问题]
如果字符串未转换为 InvarientCulture,我如何测试 DoSomething 以使测试能够失败?
我应该打扰吗?即在法语键盘上输入的字符串Something 总是等于在中文键盘上输入的Something?
我可以测试什么来缓解全球化问题?
【问题讨论】:
标签: c# string unit-testing globalization culture