I remember learning about a framework when BDD was first getting a lot of attention. This framework had the concept of using the rows or cells of an HTML table to document and run tests/features. So, I'm thinking there was an engine that would walk the cells/rows of the table "executing" each one, and perhaps recording the result. This could also serve as your report of the testing results.
Can someone point me in the right direction for what this framework was? or the ecosystem it came out of? I thought it was related to Ruby gems or concepts but I may be wrong on that.
I'm in interested in recycling some of the ideas that were used in that project / framework.
Related
These are more high level questions, but our team is new to developing with APEX. We are currently a team of 3. We are using APEX 19.2, but are planning to upgrade up to 21.1
How do others handle the development flow, versioning, and releases of their projects when working in APEX?
We put majority of the business logic (validations, source sql, and process handling) in packages. So I feel it is pretty easy to version those files as they are outside of the APEX UI and can version in Git accordingly, but how do others version control all the APEX UI changes (pages, regions, items, DAs, etc...)?
I've searched and haven't really stumbled upon best practices of how teams, that use APEX, conduct their development process. One thing I'm nervous about is branching changes inside APEX UI. Sometimes we are given a requirement (say A) and we are asked to hold that release, but start working on requirement B. We may even release B before A gets final approval.
Are there any best practices, to ensure that developers working in the same workspace do not collide with others work? Luckily most of our project tasks do not overlap, but curious how others handle this
Any links or tips to this would be appreciated as we are new to APEX and trying to work these things out up front.
I'm probably not the right person to answer as my Apex team consists of 1 (one) member - me.
However:
We put majority of the business logic (validations, source sql, and process handling) in packages.
Me too, I found that to be the best option. Keep as little code on pages themselves as possible.
As of team development, did you read Managing the Application Life Cycle with Team Development?
Tracking Features might be particularly interesting for you. For example, it contains
Approval status of the feature. Indicates if the feature is to be implemented and the current progress.
which sounds like what you asked for.
I hope that someone - who really works in a team - will see your question and answer; I'd be interested in reading about their experiences and suggestions as well.
When we export application as zip , we can see there is folder structure. So in git we have to follow the same directory structure so it is easy to review and for versioning.
Thanks,
Nagaraju P
For some background, I'm currently an intern who has been asked to use GWT to create some kind of table/grid that can be sorted by column. Ideally my boss (who told me to ask for help about this here on Stack Overflow) also wants to be able to have multiple pages of data as well, but I'm concentrating on the sorting part right now.
Before jumping to suggest the various EXT and GXT things, unfortunately 1) what this will be used for will eventually be a part of their product, and therefore, used commercially and 2) this is for a not-for-profit company, so they don't really want to pay for a license. I have been searching for what feels like weeks in vain for something that I can both use and understand.
I am using Eclipse (indigo) to create GWT web apps, but I am still quite a newbie at anything related to GWT and I'm sure that most of my problem is that I don't really understand how to get and use the code that is presented as an example in tutorials. I have read through all the GWT documentation I can find and many tutorials and showcases, but I still don't really understand how to do things... which is unfortunate and frustrating. I have also tried using the GWT Designer in Eclipse and while neat, I can't use the CellTable stuff (which of course is exactly what my boss wants) - I assume because I don't have the license for it? Right now, I don't need to be getting data from a server (literally, if I could just put all my people-data in an ArrayList and populate columns from there, I would be very happy).
Can anyone help me out with this? Sorry it's kind of a two-fold question (one that I'm such a newbie about GWT, two that I am not having any luck figuring out how to make a sortable table/grid) but I would really appreciate any help.
CellTable is one of the more complicated concepts in GWT. You are looking in the right place, the documentation is here: https://developers.google.com/web-toolkit/doc/2.4/DevGuideUiCellTable.
This should have everything you need including all the code with an EntryPoint class. I think it is just a case of getting this code running on your machine and working through it line by line understanding what it is doing.
Testing the UI has always been one of the difficulties in TDD, but I had gotten the impression that with the Razor ViewEngine in MVC3, it was possible to get the output that would be rendered for a particular view and set of inputs. You could then use string functions such as "Contains()" to verify the presence or absence of particular text that you expect to see in the output.
However, I can't seem to figure out how to do that, at least not without a LOT of mocking and scaffolding code. And I haven't been successful in finding anything on the top by Googling.
Can anyone point me to a link, or give me some pointers before I waste a couple days re-inventing the wheel by writing the scaffolding functions?
Thanks
You may find the following blog post useful. Also testing rendered HTML by views is not exactly something I would call unit test. It's more of an integration test. There are tools which are specifically designed for performing UI tests.
I am at a company that does not understand the concept of using frameworks and the benefits of them. I have tried to explain that it provides structure and organization but the people I am trying to explain to are still a little fuzzy about it. In your opinion, what is the best way to describe a framework in the most simplest terms and how it could overall benefit a company to transition their code from procedural and spaghetti code to a nice organized framework?
Thank you for your time.
I guess the best explanation I can think of for using a framework are to standardize your design process and save yourself a lot of effort as your code-base grows. Not to mention that a lot of work can be taken care of for you by the framework (which could save hours of coding). A framework can give you all the parts you need to build your application, you just have to assemble them.
The best reasons I can think of for using a framework are:
Code reuse -- If you try and follow the design of the framework you can save yourself a lot of coding time. However, some frameworks do require a time investment to master.
Encapsulation -- You can change the underlying implementation of different parts of the framework in a way that doesn't require a lot of code rewriting.
Extendability -- You can extend the code of the framework to add features you need and if you are careful about your design, you can reuse these features too.
I'm sure there are many other good reasons, but I'm sleepy.
EDIT: A good example of the benefits of a framework can be replacing the database adapter with another ie. switching from mysql to postgresql. This could be awful with functional programming but a framework could make this transition very easy.
Your coworkers most likely already use libraries, which one could define as code that exists outside of your project, and is meant to used in many projects.
A framework is like a library, but usually has other featues, such as
It might enforce changes to your code. For example, you wouldn't replace one method of your WebForms project with a call to the ASP.NET MVC framework - the entire project would be written differently to conform to the framework.
It might restrict the universe of applications that you can write. For example, you might be using a CRUD generating framework that lets you make data entry applications, but wouldn't let you make a video editing application.
However, a framework will usually give you a lot of value in return.
Let them do as they like ,first.
then pick up their shortcomings and
finally generalise your framework to avoid procedural code.
I'm going to concentrate on only a part of the question:
In your opinion, what is the best way to describe a framework in the most simplest terms
Framework == Library + Inversion of Control
our dev team is currently using asp.net 2.0 and after a lot of browsing and cross site referencing i found that the new in thing is the asp.net MVC but found that there's a few things that it can't do such as support asp.net controls, view state.
i'm not sure what are the other limitation besides the total change of paradigm where each page will now link to the controller which will be linked to a certain view. so in order to make the learning curve to be less steep, i wanted to pick up on MVP first as i think by just being able to take out the application and domain layer out and make them testable is already a big help to our total process without being too much of a hassle.
after more browsing around, i find that the ndoc is a bit outdated now and is being replaced by sandcastle which has an additional add in call docproject so that should covers the auto generation of the documentation in the codes very well.
and to handle the acceptance test, i find this tool call fitnesse which is based on FIT which should helps.
so being totally new to all of this, i'm wondering if this is a good process overall to have this tool in to cover our team's development process. and if there's other sample/resources/framework out there which covers all of these steps and does a better job than trying to piece in the gap by using several tools, i.e. a framework?
basically my question is is my
overall process above well covered
by the tools that i've researched?
and is there a better way to do the
asp.net tdd + auto doc generation +
acceptance testing?
any advice/feedback is appreciated.
thanks!! :)
Yes, ASP.NET MVC with NUnit and FitNesse are reasonable choices for an 'agile' approach. Just not sure where auto-doc generation fits into this. Will anyone read this generated documentation or will they just look at the code? If you haven't read it yet, get Robert Martin's 'Clean Code' for some good tips on how to make code maintainable and understandable without lots of comments and generated documents.