首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我应该使用什么C#数据存储?

我应该使用什么C#数据存储?
EN

Stack Overflow用户
提问于 2012-06-11 05:49:20
回答 2查看 714关注 0票数 0

我正在尝试创建一个测试框架,但不确定最好使用什么来存储将在XML文件中提供的测试用例名称和数据。例如,我想测试打印机的功能,使其具有构造函数,打开打印机连接,向打印机发送数据,关闭打印机连接。因此,XML将是:

代码语言:javascript
运行
复制
<Printer>
  <TestCaseName>"Printer_Construct"</TestCaseName>
    <Data1>"Printer1"</Data1>

  <TestCaseName>"Printer_OpenConnection"</TestCaseName>
    <Data1>"Printer1"</Data1>

  <TestCaseName>"Printer_PrintString"</TestCaseName>
    <Data1>"Printer1"</Data1>
    <Data2>"Printing my string"</Data2>

  <TestCaseName>"Printer_CloseConnection"</TestCaseName>
    <Data1>"Printer1"</Data1>
</Printer>

下面是我的测试框架想要的工作方式:

1-当测试操作员运行测试框架时,首先它只会将所有的案例名称加载到listbox1中。它还不会加载测试用例数据。

2-当测试操作员选择运行特定的测试用例时,它会将该测试用例加载到listbox2中。因此,当它将测试用例加载到listbox2中时,它将显示测试用例名称和测试数据(data1和data2,如上面的xml struct所示)。

3-现在只要测试操作员单击Run按钮,listbox2中的测试用例就可以进行测试了。

那么我如何存储测试用例数据呢?我应该将这些数据存储在内存中吗?如果是这样,我应该使用什么存储数据功能?如果不将这些数据存储在内存中,这是否意味着每次访问测试用例数据时都必须读取XML,那么这样做是不是一种好的做法?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-11 05:57:18

如果在XML中定义测试用例,那么可以在XML Schema定义文件中定义其结构,并使用tool从该.xsd文件生成内存中的数据结构以及反序列化器(自动读取器)。该工具将为您提供一个可以包含在程序中的C#文件。您会惊讶地发现,使用此表示法是多么容易。

但是,在开始之前,虽然您的XML结构在这个非常简单的初始情况下可以工作,但它似乎不太容易维护。如果"data“节点在逻辑上属于它们前面的"test case”节点,那么即使在XML结构中也应该如此,如下所示:

代码语言:javascript
运行
复制
<Printer>
    <TestCaseName Name="Printer_Construct">
        <Data1>"Printer1"</Data1>
    </TestCaseName>

    <TestCaseName Name="Printer_PrintString">
        <Data1>"Printer1"</Data1>
        <Data2>"Printing my string"</Data2>
    </TestCaseName>
</Printer>
票数 3
EN

Stack Overflow用户

发布于 2012-06-11 06:01:50

存储这类信息的位置在很大程度上取决于您的界面。

对于windows应用程序(控制台或winforms),您可以在第一次需要它时将其存储在内存中,并继续查找它。

另一方面,如果它是一个web界面,我强烈建议您使用内置的.net web缓存。它非常高效,并且有强大的缓存过期选项,比如可以在任何时候更改文件时重新加载文件,否则就可以持久保存。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10972613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档