【问题标题】:C# custom HTMLReporting using Singleton Class使用 Singleton 类的 C# 自定义 HTMLReporting
【发布时间】:2016-06-21 05:48:05
【问题描述】:

我想为我的健全性测试自动化编写自定义 HTML 报告。所以,这就是我的想法:

  1. 创建一个单例类(Jon Skeet 的线程安全版本 在 C# 中具有完全惰性实例化的单例)
  2. 在构造函数内部创建一个创建HTML文件的方法(所以 当单个构造函数被创建时,HTML 文件只创建一次 叫)
  3. 通过我的代码,我可以调用 HTML write() 或 append() 方法 将数据写入我的 HTML 文件

你觉得我的逻辑有什么问题吗?如果它是如此幼稚和不好的做法,您能否指出一些用 C# 编写 HTML 报告的示例,以便我可以在我的项目中进行调整?

谢谢!

编辑

所以,当我说自定义报告时,这就是我的想法......

一个 MasterIndex.HTML - 将列出我运行过的所有场景。此列表中的每个项目都是可单击的。 多个详细的 HTML 报告 - 当我单击 MasterIndex 文件上的每个项目/场景时,它会将我带到另一个 html,其中包含我执行通过/失败的测试场景所执行的步骤。

【问题讨论】:

  • 您需要获得几个问题的答案,您希望为每个详细报告创建多个文件?那么在构造函数中创建文件逻辑是个好主意,是否需要使代码花哨或高性能(缓冲队列一次写入)/ ThreadSafe ?为什么你需要单身? .Threadsafety 可以通过多种方式轻松实现(TPL、锁定),
  • 好的,你的问题很有道理。我阅读了一些在线文章,我的想法与单例一致,但除此之外,没有真正需要用单例类来限制自己。鉴于此,您能否展示一些代码示例以开始使用?我也应该写标签吗?或者是否已经有任何模板引擎?谢谢!
  • @Bahavani 你在用硒吗?或者什么自动化框架
  • 这是一个自定义的c#数据驱动框架,我们使用的工具是MS VS CodedUI。谢谢!

标签: c# html visual-studio singleton reporting


【解决方案1】:

知道我会在做任何事情之前先使用模式可能不是一个好主意,因为模式不是目标,它们是工具

根据我的理解,我会从一个(Kiss)简单的设计开始,让我的报告生成器至少工作基本的预期功能,然后使该框架更通用,具有附加功能,并在路径上使设计更灵活且可配置。要开始使用,您可以参考以下链接:

html reporting

create html-report without hard coded html

writing to file in a thread-safe manner

*注意:在创建自己的实用程序时,请务必仔细寻找硬编码,样板代码和耦合也可以找到可能的方法/设计模式来克服这些问题,并且您很快就会想出一个干净的甜蜜的实用程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-31
    • 1970-01-01
    • 2013-06-05
    相关资源
    最近更新 更多