OK, Cheers all.

On Oct 8, 11:17 am, "Andrew Stopford" <[EMAIL PROTECTED]> wrote:
> Hi Dan,
>
> I agree with Ben here in that mocking is the way to go if your not I-Testing
> as your want to abstract away from the physical. If your dealing with code
> that is not easily mocked (lack of interfaces, sealed classes etc) then
> TypeMock (does cost $$) is a very useful tool.
>
> Andy
>
> On 10/8/07, Ben Hall <[EMAIL PROTECTED]> wrote:
>
>
>
>
>
> > I would have to say, mocking would be the best approach here.
> > Abstract away from Directory (IFileManager).
>
> > I find that IFileManager.WriteStream(Stream s, string Path) to be a
> > nice method for dealing with this kind of stuff and then that hides
> > the internal byte writer while loop and makes it easy to mock.
>
> > But then it depends if your doing integration / unit testing :).
>
> > Ben
>
> > On 08/10/2007, hmobius <[EMAIL PROTECTED]> wrote:
>
> > > Hi,
>
> > > How would you go about unit testing a simple FTP library with commands
> > > in it such as Upload, Download, RenameRemoteFile etc? I can't think of
> > > a good way to set up a test class that doesn't rely on my already
> > > having set up a FTP account in the right place. Is mocking the way to
> > > go?
>
> > > At the moment, I'm running on this code, but the TearDown routines are
> > > failing because the local file I've created is "being used by another
> > > process" when they are called. I'm guessing that the issue is I'm
> > > trying to delete a file before the setup routine has released it, but
> > > any thoughts you might have would be appreciated.
>
> > > Dan
>
> > > -- Error
>
> > > TestCase 'FtpConnectionTests.Setup.Test.TearDown'
> > > failed: The process cannot access the file 'D:\CodeSVN\dotCoop2.0\Code
> > > \Common\UnitTests\bin\Debug\ftptests\localftptest.txt' because it is
> > > being used by another process.
> > >        System.IO.IOException
> > >        Message: The process cannot access the file 'D:\CodeSVN
> > > \dotCoop2.0\Code\Common\UnitTests\bin\Debug\ftptests\localftptest.txt'
> > > because it is being used by another process.
> > >        Source: mscorlib
> > >        StackTrace:
> > >        at System.IO.__Error.WinIOError(Int32 errorCode, String
> > > maybeFullPath)
> > >        at System.IO.File.Delete(String path)
> > >        D:\CodeSVN\dotCoop2.0\Code\Common\UnitTests
> > > \FtpConnectionTests.cs(55,0): at
> > > Mcd.Common.FtpConnectionTests.TearDown()
>
> > > -- Code
>
> > >      [TestFixtureSetUp]
> > >      public void FixtureSetup()
> > >      {
> > >         //Create directory for local files
> > >         Directory.CreateDirectory(LocalDirectory);
> > >      }
>
> > >      [SetUp]
> > >      public void Setup()
> > >      {
> > >         //Create file for uploading
> > >         File.Create(Path.Combine(LocalDirectory, LocalFileName));
> > >         FileAssert.Exists(Path.Combine(LocalDirectory,
> > > LocalFileName));
> > >      }
>
> > >      [Test]
> > >      public void Test()
> > >      {
> > >         Console.WriteLine("Into the test");
> > >      }
>
> > >      [TearDown]
> > >      public void TearDown()
> > >      {
> > >         //Delete file
> > >         File.Delete(Path.Combine(LocalDirectory, LocalFileName));
> > >         FileAssert.NotExists(Path.Combine(LocalDirectory,
> > > LocalFileName));
> > >      }
>
> > >      [TestFixtureTearDown]
> > >      public void FixtureTearDown()
> > >      {
> > >         //Delete directory for local files and any files left in it.
> > >         Directory.Delete(LocalDirectory, true);
> > >      }- Hide quoted text -
>
> - Show quoted text -


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"MbUnit.User" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/MbUnitUser?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to