Congratulations, you've installed DasBlog!#

Be sure to visit all the options under "Configuration" in the Admin Menu Bar above. There are 16 themes to choose from, and you can also create your own.

 

Wednesday, July 20, 2005 2:00:00 AM (Central Daylight Time, UTC-05:00) #    Comments [0]  | 

 

Team Test Attributes#

A quick breakdown of the Team Test attributes compared to NUnit attributes with a few examples.

All Team Test attributes are found in the following namespace:
Microsoft.VisualStudio.QualityTools.UnitTesting.Framework

Attribute Quick List

Team Test NUnit
TestClass TestFixture
AssemblyInitialize N/A
AssemblyCleanup N/A
ClassInitialize TestFixtureSetUp
ClassCleanup TestFixtureTearDown
TestInitialize SetUp
TestCleanup TearDown
TestMethod Test

AssemblyInitalize and AssemblyCleanup are new. There are no equivalent attributes in NUnit. These attributes run at AppDomain load and dispose.

[ AssemblyInitialize ]
public static void AssemblyInitialize()
{ }


[ AssemblyCleanup ]
public static void AssemblyCleanup()
{ }

Acting just like the NUnit TestFixtureSetUp and TestFixtureTearDown with the only one minor difference. Both methods have to be static and the ClassInitialize takes in one parameter. ClassInitialize will execute before any TestInitialize and TestMethod after the AssemblyInitialize while ClassCleanup executes after the TestMethod and TestCleanup but before the AssemblyCleanup.

[ ClassInitialize ]
public static void ClassInitialize(TestContext t)
{ }


[ ClassCleanup ]
public static void ClassCleanup()
{ }

TestInitialize executes before each test and TestCleanup executes after each test for every TestMethod.

[ TestInitialize ]
public void TestInitalize()
{ }


[ TestCleanup ]
public void TestCleanup()
{ }


 

Tuesday, July 05, 2005 10:05:35 AM (Central Daylight Time, UTC-05:00) #    Comments [0]  | 

 

Springfield IL .Net Developer Day#
First I would like to thank everyone involved with the Springfield IL .Net Developer day for asking me to speak.

Springfield.NetDay.ppt (1.61 MB)
Wednesday, June 29, 2005 10:04:13 AM (Central Daylight Time, UTC-05:00) #    Comments [0]  | 

 

Google Earth#

Since Google’s purchase of Keyhole, they’ve recently released a program called Google Earth. Its free and will no doubt suck up some of your time.

So far my favorite place is the Grand Canyon National Park.

Wednesday, June 29, 2005 10:01:53 AM (Central Daylight Time, UTC-05:00) #    Comments [0]  | 

 

TestDriven.Net Fix for VS 2005 Beta 2#

I have been without TestDriven.Net for a while and it’ s been killing me. I can’t explain why the following change works but it works.

  • Copied the version of Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel.dll that was installed with the version of the IDE into the root of “C:\Program Files\TestDriven.NET 1.0” and “C:\Program Files\TestDriven.NET 1.0\QualityTools”
  • Updated the TestDriven.Config AssemblyPath to remove “QualityTools\”.

    Original:

    testrunner Name=”QualityTools” AssemblyPath=“QualityTools\TestDriven.QualityTools.dll” TypeName=”TestDriven.QualityTools.QualityToolsTestRunner”
    targetframework AssemblyName=”Microsoft.VisualStudio.QualityTools.UnitTestFramework”
    testrunner

    Modified:

    testrunner Name=”QualityTools” AssemblyPath=“TestDriven.QualityTools.dll” TypeName=”TestDriven.QualityTools.QualityToolsTestRunner”
    targetframework AssemblyName=”Microsoft.VisualStudio.QualityTools.UnitTestFramework”
    testrunner

  • Tuesday, June 28, 2005 9:51:52 AM (Central Daylight Time, UTC-05:00) #    Comments [0]  | 

     

    Tools of the Trade#

    It’s always nice to share your tools of the trade with fellow colleagues. I was going to compile my own list when I was passed Scott Hanselman’s. I think I shall pass, he did a great job of covering things.

    Thanks to Mike Becker for sharing it with me.

    Friday, June 24, 2005 9:50:32 AM (Central Daylight Time, UTC-05:00) #    Comments [0]  | 

     

    GUID for sale?#
    Friday, June 24, 2005 9:49:57 AM (Central Daylight Time, UTC-05:00) #    Comments [0]  | 

     

    SVN missed the boat#

    Let me start by saying I just love Subversion ( SVN ). When it comes to source control there are many different products to choose from, VSS, CVS, Sourcegear Vault, Perforce, Microsoft VSTS just to name a few. They all have their pros and cons and until last night I swore by SVN. Like I said before, I love SVN. These guys really deserve a great deal of credit. SVN is free and it functionality meets the needs of a great SCC repo. When I looked to pick my personal SCC repo, I looked for the obvious things like commit, update, delete, etc and on top of that I look for things like :

  • Easy of maintenance
  • Fast
  • Simple interface ( example : TortoiseSVN or TortoiseCVS )
  • Reliable
  • Secure
  • Access from anywhere
  • Built on a DB rather than a filesystem

    I setup a small repo with SVN and was in awe. I don’t think I spent more that 30 minutes starting from scratch to committing files. I used it for a few months and decided I better move the DB to a RAID I had sitting on another sever. This would give me the reliability of a raid yet run SVN on a separate machine.

    WRONG!! I was able to mount a directory to a share on another server with the RAID. svnadmin created the DB just fine, but things puked when I tried to use it.

    It logged the following:

    (20014)Error string not specified yet: Berkeley DB error while opening environment for filesystem /PATH/To/Repos/ db:\nInvalid argument

    [error] [client XXX.XXX.XXX.XXX] Could not fetch resource information. [500, #0]

    [error] [client XXX.XXX.XXX.XXX] Could not open the requested SVN filesystem [500, #160029]

    [error] [client XXX.XXX.XXX.XXX] Could not open the requested SVN filesystem [500, #160029]

    I hit the SVN book to see what I had done wrong only to find this.

    Warning

    Do not create your repository on a network share—it cannot exist on a remote filesystem such
    as NFS, AFS, or Windows SMB. Berkeley DB requires that the underlying filesystem implement
    strict POSIX locking semantics, and more importantly, the ability to map files directly
    into process memory. Almost no network filesystems provide these features. If you attempt to
    use Berkeley DB on a network share, the results are unpredictable—you may see mysterious
    errors right away, or it may be months before you discover that your repository database is subtly
    corrupted.

    As stated on page 83 of Version Control with Subversion

    and so the boat sailed off into the distance with all the n-tier SCC users as SVN stood there watching.

    BUT there is good news…..

    The SVN team stated as a long term product goal they were going to add a SQL repository back-end. You can stay informed about it here.

  • Thursday, June 09, 2005 9:49:06 AM (Central Daylight Time, UTC-05:00) #    Comments [1]  | 

     

    Microsoft Financial Services Developer Conference#

    I was given the opportunity to speak at this years Microsoft Financial Services Developer Conference. I was asked to speak on Web Services and WSE in regards to an Allstate web service case study Microsoft published earlier this year.

    Rather than just talking about the case study one could just read, I recreated that project in .Net 2.0 using WSE 2.0 SP3. This gave me an opportunity to illustrate some of the new features coming and how the original solution may change when .Net 2.0 is released.

    The slides and videos have just been released here .

     

    Thursday, June 02, 2005 9:48:16 AM (Central Daylight Time, UTC-05:00) #    Comments [0]  | 

     

    Company Policy#

    The story below was passed along from a mentor of mine, Kevin Rice. Thanks!

    Start with a cage containing five monkeys. Inside the cage, hang a banana on a string and place a set of stairs under it. Before long, a monkey will go to the stairs and start to climb towards the banana. As soon as he touches the stairs, spray all of the other monkeys with cold water.

    After a while, another monkey makes an attempt with the same result all the other monkeys are sprayed with cold water. Pretty soon, when another monkey tries to climb the stairs, the other monkeys will try to prevent it.

    Now, put away the cold water. Remove one monkey from the cage and replace it with a new one. The new monkey sees the banana and wants to climb the stairs. To his surprise and horror, all of the other monkeys attack him. After another attempt and attack, he knows that if he tries to climb the stairs, he will be assaulted.

    Next, remove another of the original five monkeys and replace it with a new one. The newcomer goes to the stairs and is attacked. The previous newcomer takes part in the punishment with enthusiasm! Likewise, replace a third original monkey with a new one, then a fourth, then a fifth. Every time the newest monkey takes to the stairs, he is attacked. Most of the monkeys that are beating him have no idea why they were not permitted to climb the stairs or why they are participating in the beating of the newest monkey.

    After replacing all the original monkeys, none of the remaining monkeys have ever been sprayed with cold water. Nevertheless, no monkey ever again approaches the stairs to try for the banana. Why not? Because as far as they know that’s the way it’s always been done around here

    And that, my friends, is how a company policy begins.

    Friday, May 27, 2005 9:36:26 AM (Central Daylight Time, UTC-05:00) #    Comments [0]  | 

     

    All content © 2010, Clark Sell
    On this page
    This site
    Calendar
    <July 2005>
    SunMonTueWedThuFriSat
    262728293012
    3456789
    10111213141516
    17181920212223
    24252627282930
    31123456
    Archives
    Sitemap
    Blogroll OPML
    Disclaimer

    Powered by: newtelligence dasBlog 2.3.9074.18820

    The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

    Send mail to the author(s) E-mail

    Theme design by Jelle Druyts


    Pick a theme: