.net - Beginning Unit Tests Long After The Project Has Begun?
May 13, 2009
I have taken on a project that has been underway for months. I've yet to ever do unit tests and figured it would be a decent time to start. However, normally unit tests are written as you go and you plan for them when beginning the project. Is it reasonable for me to start now? Are there any decent resources for setting up unit tests without starting a brand new solution (the project is already underway). Using vb.net with VS2005?
When i perform unit testing on routines, using the unit testing framwork provided by VSTS, i need to get a output of the unit test and result on to a document (documentation). how do i do i do this?
I'd like to add a message to be displayed in Visual Studio 2010 test results.I can post a message out if the test fails, but not true. Is there anyway to do this? For example:
dim quoteNumber as string = Sales.CreateQuote(foo) assert.IsTrue(quoteNumber <> "")
i am trying to create a Unit test for a WinForm in a Visual Studio 2010 project. I add a new "Coded UI Test" to my project, open up the code file, then right click and select "Generate Code for Coded UI Test" -> "Use Coded UI Test builder". I then start my application up, select "Record" on the UI Map control. I run my tests (in this case simply select a textbox, type in a random value, them click a button). I then select "Generate Code" from the UI Map control which generates the code which the test will use. When running this test, i get the error:
Test method HelloWorldTest.CodedUITest1.CodedUITestMethod1 threw exception:
I can create an ASP.NET Page object in my unit tests by subclassing System.Web.UI.Page.However, I cannot find a way to set Page.Form. Adding a form with attribute (runat,server)does not work. Overloading the form in my Subclass does not give the required functionality.
As I develop code, I often want to unit test some of the building blocks of a class even if they are normally private. If my unit tests are inside the project, I can use "Friend" to accomplish this and still keep the functions private for normal use. But I would rather move my NUnit tests into their own separate project(s). How do I achieve the effe vb.net 2005?
As I develop code, I often want to unit test some of the building blocks of a class even if they are normally private. If my unit tests are inside the project, I can use "Friend" to accomplish this and still keep the functions private for normal use. But I would rather move my NUnit tests into their own separate project(s).
I have written one application which communicate with one data logger unit (temperature monitoring unit) and download records after some interval. Unit continuously send current temperature which I have to show on screen and after each one hour I have to download log (all records saved inside unit at max 1024) from unit.
Now problem is after downloading log, application get hang or what we called working in background and resume after some time. If I pause debugger in visual studio 2008 it show control at application start (sub main) with message as "application will resume here after completing execution of current function". There is nothing in output window. So how can i trace is there any events got spool or what actually application doing in background.
Does anyone have a nice sample of a unit convertor handling multiple unit types that I can integrate in my application? I have found this one, but it is only handling one type of unit. For example I want to convert weight as well as volume from and to imperial units.
Is there a easer way of coding in stead of wrighting long long paragraphs like this in one line [code]All of this is on one line and i got lots of info to put down.."The game will begin on your 16th birthday with your mother waking you up. Today you are to go to the castle for the first time. Leave your bed and open your dresser for a Strength Seed. "
In Visual Studio 2008 I am using :Private Declare Function BlockInput Lib "user32" (ByVal fBlock As Long) As Long To stop input from occuring during a search-replace operation.
BlockInput(True) ' do not allow input during search and destroy Dim cursorIcon As Cursor cursorIcon = Cursor Cursor.Current = Cursors.WaitCursor
Then setting it to false at the end of the operation. It did not work, so I thought maybe it was because I was calling it from a child window, so I created a function in the mainwindow, and ran it like this:
FrmMain.BlockFrmMainInput()With these functions is the Main window:
[Code]...
It did not solve the problem. I thought maybe it was because I was running under the debugger, so I tried compiling and running it debugger-free, but that did not do any better. I am still getting input when I double-click the mouse on either form.
In my company, we make software which we use to test certain skills and intelligence factors of people. Some of those tests are time bound. On the test page, there is an asp control that shows the time remaining. When you right click that control, the javascript that provides the time is interrupted. To solve that, we disabled right-clicking. But now i've noticed that if you do a selection of some text and click the IE8 accelerator blue button, the javascript is also interrupted. Disabling the left-click if of course no option.
I've found an option in IE that disables the accelerator, so for us internally, the issue is solved. But we would like to find another solution, just because we cannot ask every one of our customers to go disable that option on all their computers.
If I try to debug the following code using the Test With -> Debugger option from within VS2010, it falls over on _object.DoSomething() with an Object reference not set to an instance of an object. error. It builds and passes successfully in NUnit.
<TestFixture()> Public Class Tests Private _object As SomeClass
[code]....
But should I need to do this or is this skipping of TestFixtureSetup when debugging by design.
TDD is supposed to have 100% code coverage. Does this mean one is supposed to write tests for property getter and setters, and other methods that contain no real logic, such as dealing with external API functionality? Below is one example method (which happens to also be the example in this other SO question which deals with how best to test it, if we are going to test it). This method doesn't do much. It's a facade of theSystem.ServiceProcess.ServiceController functionality of stopping a service. Currently this code was not being written using TDD, but if it was, would it be something that one should test? There is very little logic here.est to test it (IoC & Adapter Pattern vs. Detouring) please see this other SO question.
Public Function StopService(ByVal serviceName As String, ByVal timeoutMilliseconds As Double) As Boolean Implements IWindowsServicesService.StopService Try
I want to report the status of multiple tests to the user like this:
Test1 PASS Test2 PASS Test3 FAIL
where the PASS should be green and the FAIL should be red. The number of tests is not known at design time, so I can't make N rows of labels and set their properties at run time. If I put all of that text in a single label, is there a way I can turn some of the words green and some of them red?
I have a class that uses My.Computer.Network.Ping to get a boolean value on whether a IP address or hostname is reachable.However, when I'm testing that class, I want to disable pinging so that during the test whenever I run the My.Computer.Network.Ping it will always return false or throw some kind of exception.
I have tried the following, but I still get a true returned (meaning, the attempts to disable ping didn't work)
Dim restricited As New System.Net.NetworkInformation.NetworkInformationPermission(System.Security.Permissions.PermissionState.None) Dim mySocketPermission1 As New SocketPermission(PermissionState.None) Dim myWebPermission As New WebPermission(PermissionState.None) myWebPermission.Demand()'
I am doing automation testing of a web application using selenium. While running automation testing of web application you encounter application errors. Is there any way to detect those exceptions. Specially exceptions that are on the page which causes the page to hang up as it is not finding the element it is looking for or page stays on the same page and waitforpage() function keeps running.
I'm working with .NET 3.5 and Nunit 2.5.10. I'm attempting to write some tests to validate our role-based security enforcement through the PrincipalPermissionAttribute at a class-level. The test appears to succeed (it gets a green checkmark) and the Assert.Throws call properly catches the exception, and all my other assertions about the exception pass. However, once TearDown is complete after a test has run, the exception is re-thrown by NUnit. So even though the test "passed", every one of the tests shows that an exception was unhandled exception was thrown 'while executing' the test run.
I'm guessing I'm doing something wrong, but can't figure it out. My test is:
Public Sub New_TheForm_NoRoles_DeniesAccess() ' attempt to create a new instance of the form, but it should throw an exception with an inner SecurityException Dim ex As TypeInitializationException = Assert.Throws(Of
[Code]....
Basically, Initialize is normally called in the application with Nothing so that we use the Windows Principal. During unit testing, we instead initialize it with a GenericPrincipal that has no roles, so that we can test that a SecurityException is thrown.
The tests are passing, but NUnit just seems to be re-throwing the exception post-Teardown.
When I exit the programme and start it again the checkbox selection from the previously job gets lost. After starting there is not a problem until I exit and start the programme again.
DnsGetHostEntry takes an IPaddress as an argument but the one I'm supplying it while debugging is throwing an exception of "No such host is known" when I know that this is a perfectly valid host.
Somehow a space or character has been introduced at the beginning of the strong as per the text in quotes below. I tried a Trim(" ",
" 10.0.110.37" "" & vbLf & "10.0.110.37" this is what I see when clicking on Edit Value in Quickwatch
I have an VB.NET app that writes the status to a log file in text format. Over time, the file is getting large and I wanted to know if there is an efficient way to truncate the beginning of the file.
To make things easier, I am looking to specify a file size (say 2-3 mb) and I am writing the log using a StreamWriter:
Using strm As New IO.StreamWriter(filelocation.log, True) strm.WriteLine("msg to write") strm.Close() End Using
I thought about using the strm.BaseStream.Length to determine how much of the file to cut off, but by using the .SetLength it would cut from the end - not the desired result.
All appears well, except for the zip codes that begin with a zero. I'm using a case statement to verify the zone, but VS2010, helpful as it is, removes the the lead zeros, after which said zip codes won't verify.strZip is put in through a text box, and a debug.writeline will tell me that VS stores it correctly, with the leading zeros. But when I get to the Case statement, it just will not let me look for a zero initiated number. I felt I was doing well by going with a string rather than something more numerical, but that apparently isn't enough.
Excerpt: dim strZip as string Select Case strZip[code]....
Im trying to create a new file at the begining of each month, and stay active for the rest of the month by adding the textbox info to it every time someone presses the Next or Exit button. Next and Exit button update the files Im not sure would it be easier to get the info across to Excel or sql server, but i woudlnt know how to do that, if that would be easiers.Aim of the what im doing, person logs button presses with the text files logging the number of presses of each of the buttons. then at the end of the session or when the user moves to the next item to be logged the files then save the counted section. need to it log everything for the month. Just trying to get the info into sqlserver 2008 as im logging each job as well.
If Me.DateTimePicker1.Text = "# october 2009" Then ' logging the monthly total Using SW As New System.IO.StreamWriter(faultsfile) SW.WriteLine(TextBox10.Text)
how can i get the number of spaces in the beginning of each line before a word..following code is just for example reasons, not to be misunderstood for code that needs to be fixed.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If Clipboard.GetDataObject.GetDataPresent(DataFormats.Text) Then RichTextBox1.Paste() RichTextBox2.Paste() End If End Sub
I've done a customer register in a win form app. and I need to be able to search for a customer fast. If I have more than 100 customers I'd be spending all day to find the right customer by using the previous and next buttons, so I want to have a textbox and a search button. If I write for example just an "A", I want my program to show all customers beginning with an "A". If I write "AN" I want my program to show all customers beginning with "AN".