English 中文(简体)
How to unit test file permissions in NUnit?
原标题:

I m trying to unit test file read operations. In this scenario I also need make sure that, if a particular user don t have read access he should get an exception...

But somehow I m unable to get it working, can anyone suggest something?

PS: I m using Rhino mock and NUnit

最佳回答

You could use Rhino.Mocks "Do" extension to throw a specific exception:

public delegate void ThrowExceptionDelegate();
mystub.Stub(x => x.ReadFile()).Do(new ThrowExceptionDelegate(delegate()
    { throw new IOException(); }
    ));

This would allow you to test your exception handling code.

问题回答

You need to get a test in place which, in place of reading a file is using a mock that throws an exception instead of really reading a file. Then you can verify that the appropriate handling is triggered and things work out as they should.

If you need a better answer, you need to give an example of your classes and maybe the skeleton of the test you ve written so far.

I d go for a proper acceptance test - using mocks too much can be a bit dangerous. In this case it s easy to programmatically set + unset file permissions anyway.

I had a similar problem - wanted to test a permissions problem + came up with the following helper class to wrap the library API for messing around with file permissions

set file permissions for c:program filescompanyappfile for all users





相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签