惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Troy Hunt's Blog
GbyAI
GbyAI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
月光博客
月光博客
Engineering at Meta
Engineering at Meta
The Register - Security
The Register - Security
阮一峰的网络日志
阮一峰的网络日志
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
F
Fortinet All Blogs
博客园 - 司徒正美
博客园 - 聂微东
T
Tailwind CSS Blog
MyScale Blog
MyScale Blog
Microsoft Security Blog
Microsoft Security Blog
Jina AI
Jina AI
A
About on SuperTechFans
Y
Y Combinator Blog
N
Netflix TechBlog - Medium
V
V2EX
I
InfoQ
WordPress大学
WordPress大学
小众软件
小众软件
The Cloudflare Blog
Recent Announcements
Recent Announcements
U
Unit 42
The Last Watchdog
The Last Watchdog
P
Palo Alto Networks Blog
Vercel News
Vercel News
罗磊的独立博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
M
MIT News - Artificial intelligence
Project Zero
Project Zero
美团技术团队
L
LangChain Blog
S
Security @ Cisco Blogs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Last Week in AI
Last Week in AI
W
WeLiveSecurity
S
Securelist
H
Hacker News: Front Page
K
Kaspersky official blog
Martin Fowler
Martin Fowler
Know Your Adversary
Know Your Adversary
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
J
Java Code Geeks
P
Proofpoint News Feed
有赞技术团队
有赞技术团队
Google Online Security Blog
Google Online Security Blog
D
DataBreaches.Net

博客园 - 一一九九

Introduce to MEF (Study)- one 【wpf】AnimatedTabControl 如何显示内容 [wpf]设置Application的ICO Error: does not contain a static 'Main' method suitable for an entry point [wpf] Can you outline a story-driven process with Concordion? Your First Concordion.Net Project (Part 5)-Running Specs with Gallio Your First Concordion.Net Project (Part 4)-More Specifications! Your First Concordion.Net Project (Part 3)-Adding Specifications Your First Concordion.NET Project (Part 1)-What is Concordion.Net? [Specification by Example][ch5 Deriving scope from goals]-[读书笔记]-[4] [Specification by Example][ch5 Deriving scope from goals]-[读书笔记]-[3] [Specification by Example][ch5 Deriving scope from goals]-[读书笔记]-[2] [Specification by Example][ch5 Deriving scope from goals]-[读书笔记]-[1] [Specification by Example][ch4 Initiation the changes]-[读书笔记] [Specification by Example][ch3 Living documentation]-[读书笔记] [Specification by Example][ch2 key process patterns]-[读书笔记] [Specification by Example][ch1 key benefits]-[读书笔记] Binding Resource
Your First Concordion.Net Project (Part 2)-Setting Up Visual Studio
一一九九 · 2012-01-16 · via 博客园 - 一一九九

2012-01-16 10:40  一一九九  阅读(187)  评论()    收藏  举报

From: http://living-in-concordion.blogspot.com/2009/05/your-first-concordionnet-project-part-2.html

需要提前了解Microsoft’s guidelines for setting up a Visual Studio project

大多数Concordion.net Projects应该拥有如下的基本程序集结构:

  • <project name > 包含业务逻辑的程序集
  • <project name>.Test 包含单元测试的程序集。
  • <project name>.Spec 包含Concordion.net Specifications的程序集。

我们将创建一个叫做Calculator的项目这是一个包含一个计算API的简单的例子。Yes, I know this is a very simple example but it will have to do for now because I’m not feeling very imaginative!  呵呵。我们将会建立如下三个项目:

  • Calculator
  • Calculator.Test
  • Calculator.Spec

Calculator.Sample.1_thumb

这是我们程序集的基本结构。一般来说我采用XUnit 为我的开源项目Text,但是这里不会过多的涉及Calculator.Test项目,这里仅仅是为了完整性。

我们后续会涉及需要额外添加的引用。

The ConcordionAssembly Attribute

你需要在你的Concordion.net项目上做的第一件事情就将你的程序集加入 ConcordionAssembly属性。这能够允许Gallio(运行Spec的程序)知道包含Concordion Specifications的程序集。假如这个属性没有加入的话,你的Test不会被找到。你可以将程序集如下标识:

[assembly: ConcordionAssembly]
将这个声明放到项目Calculator.Spec 的AssemblyInfo.cs 文件的声明中。
The next part in this series will talk a bit about how to add specifications to the Calculator.Spec project.