Castle 1.0 RC2 尝鲜

今天才看到Castle 1.0 RC2 发布的消息,便迫不及待的载了下来,看看有什么新鲜的玩艺儿。

下载安装Castle 1.0后,在VS2005中会发现多出了两个项目模版:Castle ActiveRecord ProjectCastle MonoRail Project,如下图:

新建一个ActiveRecord项目,它会在解决方案中生成一个实体类项目的同时,还会生成一个单元测试项目:

并且提供一个用于测试实体的抽象类,在这里面已经设置好了要做单元测试的一切,写自己的测试类时只需要继承于该类:

public abstract class AbstractModelTestCase

{
    
protected SessionScope scope;

    [TestFixtureSetUp]

    
public virtual void FixtureInit()

    
{
        InitFramework();
    }


    [SetUp]

    
public virtual void Init()

    
{
        PrepareSchema();

        CreateScope();
    }


    [TearDown]

    
public virtual void Terminate()

    
{
        DisposeScope();

        DropSchema();
    }


    [TestFixtureTearDown]

    
public virtual void TerminateAll()

    
{

    }


    
protected void Flush()

    
{
        SessionScope.Current.Flush();
    }


    
protected void CreateScope()

    
{
        scope 
= new SessionScope(FlushAction.Never);
    }


    
protected void DisposeScope()

    
{
        scope.Dispose();
    }


    
/// <summary>

    
/// If you want to delete everything from the model.

    
/// Remember to do it in a descendent dependency order

    
/// </summary>


    
protected virtual void PrepareSchema()

    
{
        
// If you want to delete everything from the model.

        
// Remember to do it in a descendent dependency order

        
// Office.DeleteAll();

        
// User.DeleteAll();

        
// Another approach is to always recreate the schema 

        
// (please use a separate test database if you want to do that)

        ActiveRecordStarter.CreateSchema();
    }


    
protected virtual void DropSchema()

    
{
        ActiveRecordStarter.DropSchema();
    }


    
protected virtual void InitFramework()

    
{
        IConfigurationSource source 
= ActiveRecordSectionHandler.Instance;

        ActiveRecordStarter.Initialize(source);

        
// Remember to add the types, for example

        
// ActiveRecordStarter.Initialize( source, typeof(Blog), typeof(Post) );

        
// Or to use the assembly that holds the ActiveRecord types

        
// ActiveRecordStarter.Initialize(System.Reflection.Assembly.Load("MyARProject"), source);

    }


}


看来又要很多东西要去研究了:)

作者:TerryLee
出处:http://terrylee.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted @ 2006-11-02 22:27 TerryLee 阅读(2943) 评论(18)  编辑 收藏 网摘 所属分类: [12]  开源世界

  回复  引用  查看    
#1楼 2006-11-02 22:36 | neuhawk      
暂时只是用到ioc,ioc有什么变化吗?
  回复  引用  查看    
#2楼 [楼主]2006-11-02 22:38 | TerryLee      
@neuhawk
还没仔细看,只是简单的了解了一下
  回复  引用  查看    
#3楼 2006-11-02 22:39 | Tseng      
我要好好研究CASTLE了,NH太烦琐了.
  回复  引用  查看    
#4楼 [楼主]2006-11-02 22:43 | TerryLee      
@Tseng
AR的确是简化了很多繁琐的配置

Castle 1.0 RC2主推TDD的开发方法,很是值得研究
  回复  引用  查看    
#5楼 2006-11-02 22:46 | Tseng      
@TerryLee
以后多多向你请教.
  回复  引用  查看    
#6楼 [楼主]2006-11-02 22:52 | TerryLee      
@Tseng
客气,互相学习

希望有时间再好好研究一下:)
  回复  引用  查看    
#7楼 2006-11-02 23:47 | 维生素C.NET      
关注TerryLee的进一步报道~
  回复  引用  查看    
#8楼 [楼主]2006-11-02 23:58 | TerryLee      
@维生素C.NET
先看看这篇文章:)
http://www.ayende.com/Blog/BuildingApplicationsUsingCastleRC2PartI.aspx

有时间我也写几篇,呵呵
  回复  引用  查看    
#9楼 2006-11-03 11:08 | 阿不      
Caslte更进一步了。
  回复  引用  查看    
#10楼 [楼主]2006-11-03 21:56 | TerryLee      
@阿不
没错,的确是更进一步了,更多的体现了TDD的开发方法
  回复  引用  查看    
#11楼 [楼主]2006-11-03 21:56 | TerryLee      
@阿不
没错,的确是更进一步了,更多的体现了TDD的开发方法
  回复  引用  查看    
#12楼 2006-11-17 11:37 | fly2008      
为什么我新建castle monorail project项目时,老是出错呢?

无法打开项目文件 C:\Program Files\CastleProject\Wizard Templates\VS8\CSharp\MRProject\MRProject.csproj
此安装不支持项目类型.
....
...
  回复  引用  查看    
#13楼 [楼主]2006-11-18 18:11 | TerryLee      
@fly2008
安装的是Castle 1.0 RC2 吗?
  回复  引用    
#14楼 2007-04-26 17:59 | sd [未注册用户]
can somebody please translate ?
  回复  引用    
#15楼 2007-04-26 18:00 | Vivek Veeramani [未注册用户]
osakini shitsurei kimaas... haai..
  回复  引用    
#16楼 2007-04-26 18:01 | Vivek Veeramani [未注册用户]
Arigato chowmein sushi
  回复  引用  查看    
#17楼 2007-11-03 11:42 | Allen Zhang      
@fly2008
我也是碰到同样的问题,重装monorail也没用,怎么回事?
  回复  引用    
#18楼 2008-08-21 13:18 | lance.ji [未注册用户]
@fly2008

我也是同样问题!!!





标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索

相关文章:

相关链接: