小编Dav*_*vid的帖子

将位置字符串更改为const会破坏我的记录器类

我一直在努力解决最近出现的一个问题,我写的是一个简单的logtofile类.

using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;

namespace Assets.Code
{
    class TimingLogger
    {
        public static readonly TimingLogger Logger = new TimingLogger();
        private static readonly string path = "C:\\Logs\\TimingLog.txt";
        private readonly Mutex mutex = new Mutex(false, path);
        private StreamWriter writer;
        private readonly Queue<string> queue = new Queue<string>();
        private bool isRunning;
        private readonly object obj = new object();

        private TimingLogger()
        {

        }

        public void CheckPath()
        {
            if (!File.Exists(path))
            {
                File.Create(path);
            }
        }

        public void Run()
        {
            isRunning = true;
            while …
Run Code Online (Sandbox Code Playgroud)

c# mono multithreading const readonly

5
推荐指数
1
解决办法
131
查看次数

使用 SpecFlow 测试引用我项目中的文件夹

我正在尝试编写一个 SpecFlow 测试,在其中测试当我的应用程序读取特定结构的文件夹和文件时会发生什么。我想在我的项目中包含这些文件夹和文件,以便测试不仅仅在我自己的计算机上运行。

例如,我的 Specs 项目中有两个文件夹。一个称为“SimpleTestModel”,另一个称为“ComplexTestModel”。如何在我的 SpecFlow 测试中引用这些文件夹?

.net c# specflow

4
推荐指数
1
解决办法
2230
查看次数

SpecFlow 和用户界面测试

我最近开始从事一个项目,我想尝试行为驱动开发。我选择 SpecFlow 作为我的测试框架,因为它是一个 C# 应用程序。根据我在网上阅读的有关该主题的内容,BDD 相对于 TDD 的一个优点是 BDD 可用于测试用户界面。但是,我在使用 SpecFlow 执行此操作时遇到了一些麻烦。对于我的第一次测试,我想编写以下功能:

用户单击一个按钮,会出现一个文件夹浏览对话框,选择一个文件夹后,应用程序会在该文件夹中搜索与应用程序相关的文件,并将这些文件加载​​到应用程序中。

下面的场景或多或少是我想写的:

 Scenario: Add Model
 Given I am on the main screen
 When I click Add Model
 And select a folder
 And the folder contains a model
 Then the model is loaded into the application
Run Code Online (Sandbox Code Playgroud)

我需要什么代码才能让 SpecFlow 单击该 FolderBrowseDialog 上的内容才能完成此测试?

specflow

3
推荐指数
1
解决办法
5099
查看次数

我应该为每个模型封装一个ViewModel吗?

我最近一直在使用WPF和MVVM.我的印象是我非常了解MVVM模式,但我开始有些疑惑.

现在,我为每个Model对象都有一个封装的ViewModel对象.假设我的模型包含两个类:Property其中包含一个列表PropertyValue.在我的ViewModel中,我有一个PropertyVm,其中包含一个Property和一个列表PropertyValueVm(每个包含一个PropertyValue).两个Vm都实现了BaseVm包含该OnPropertyChanged方法的方法.

考虑一个带有两个组合框的视图,用于PropertyPropertyValue.第一组合框的ItemsSource将被绑定到的集合PropertyVms和所述第二组合框的ItemsSource将被结合到PropertyValueVms所述的PropertyVm选定的组合框在1.

这完全基于让我首先探索WPF和MVVM的文章:使用ViewModel模式简化WPF TreeView,作者:Josh Smith

但是,我对我的项目包含的大量ViewModel类变得越来越恼火,其中一些包含非常少的代码或者只是相应的Model类.

我遇到的其他实现INotifyPropertyChanged代替了Model对象.这意味着您可以直接将Model对象分配给Comboboxes.这会减少ViewModel类的数量,但是这不违反MVVM的基础知识吗?

我也看到人们提倡每个View一个ViewModel.但是我担心这会把我的ViewModel类转变为庞大,不连贯的文本墙.

简而言之,我的问题是:我是否应该为每个模型封装一个ViewModel?如果没有,那么最佳做法是什么?

.net c# wpf mvvm

3
推荐指数
1
解决办法
793
查看次数

标签 统计

c# ×3

.net ×2

specflow ×2

const ×1

mono ×1

multithreading ×1

mvvm ×1

readonly ×1

wpf ×1